Close

for文を使って米粒の計算(Java)

昔話で、殿様から褒美をもらえるということで、
米粒を1日目に1粒、2日目にその倍の2粒、3日目にその倍の4粒・・・ください、
とお願いした彦一の話を聞いたことがある人もいると思います。

仮に30日それを続けた場合に彦一さんは
合計いく粒の米をもらえたということなのでしょうか。

今回はJavaのfor文を使って答えを出してみましょう。

public class Kome {
	public static void main(String[] args) {
		int num = 1;	//もらう一日分の米粒
		int sum = 0;	//もらう米粒の累計
		for(int i=1;i<= 30;i++){
			sum = sum + num; //その日にもらう米を累計に加算
			num = num * 2; 	 //次の日にもらう米は2倍	
		}
		System.out.println("30日間でもらえた米粒の総数は" + sum + "粒です。");
	}
}

上記のソースをコンパイルし実行すると、
「30日間でもらえた米粒の総数は1073741823です。」
と表示されます。

 

Share on facebook
Share on twitter
Share on linkedin