※ ChatGPTを利用し、要約された質問です(原文:プログラム問題に関する質問)
C言語での貯金プログラム作成方法について
【質問】
1日目に1円、2日目に2円、3日目に4円というように、前日の2倍のお金を貯金したときに、貯金の合計額が100万円を超えるのは何日目になるかを求めるプログラム作成についての質問です。
【プログラム作成例】
20日目に524288円貯金し合計 1048575円になります
上記の解答は下記の通りなのですが、下記以外の解答方法を教えてはいただけないでしょうか?
C言語に詳しい方よろしくお願いいたします。
#include <stdio.h>
main()
{
int n;
long tyokin, gokei;
n = 1; /* 日数nを1にする */
tyokin = 1; /* 1日の貯金額の初期値を1円にする */
gokei = 1; /* 貯金の合計を1とする */
while (gokei <= 1000000) { /* 貯金の合計が100万円以下の間繰り返す */
tyokin *= 2; /* 1日の貯金額を2倍にする */
gokei += tyokin; /* 貯金額を積算する */
n++; /* 日数を1日増やす */
}
printf ("%d 日目に %ld 円貯金し合計 %ld 円になります\n",n, tyokin, gokei);
return (0);
}
お礼
ご解答ありがとうございます! プログラム作成の問題集をやっているのですが、もっとほかの解答例はないものかと思い質問させていただきました。 north_2ndさんのやり方もたぶん大丈夫そうなんで参考にさせていただきます。