アプリ版:「スタンプのみでお礼する」機能のリリースについて

1日目に1円。
2日目に2円。
3日目に3円。
  ↓
n日目にn円。

という風に貯金していく。
100万円貯まる日にちを表示するプログラム。
1/2(n)(n+1)<1000000。


#include <stdio.h>

int main()
{
double n = 0;
double i = 0;
while(n<1000000)
{
n = n+(n+1);
i++;
}

printf("%d",i);

return 0;
}

こんな感じで書いてみましたがなぜか20日くらいになります。
何が間違ってるんでしょうか?

A 回答 (2件)

n = n + ( n + 1 ) ;



ではなく、

n = n + ( i + 1 ) ;

では?
    • good
    • 0
この回答へのお礼

ありがとうございます。
初めのほうで具体的にやってみると間違いがわかりますね。

お礼日時:2005/07/03 23:34

お書きのプログラムですと、1日目は1円、2日目は3円、3日目は7円と倍々ゲームで増えていきますね。


> n = n+(n+1)
じゃなく
< n = n+(i+1)
じゃないですか。
    • good
    • 1
この回答へのお礼

ありがとうございます。
ポイントは申し訳ありませんが、速い順とさせていただきますね。

お礼日時:2005/07/03 23:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!