C言語プログラミング(第3版)彼はQinmingの演習4-10

C言語プログラミング(第3版)彼はQinmingの演習4-10

演習のリスト
1. C言語プログラミング(第3版)彼は秦明の演習2-1
2. C言語プログラミング(第3版)彼は秦明の演習2-2
3. C言語プログラミング(第3版)彼は秦明の演習2-3
4. C言語プログラミング(第3版)彼は秦明の演習2-4
5. C言語プログラミング(第3版)彼は秦明の演習2-5
6. C言語プログラミング(第3版)彼は秦明の演習2-6
7. C言語プログラミング(第3版)彼は秦明の演習3-1
8. C言語プログラミング(第3版)彼は秦明の演習3-2
9. C言語プログラミング(第3版)彼は秦明の演習3-3
10. C言語プログラミング(第3版)彼はQinmingの演習3-4
11. C言語プログラミング(第3版)彼はQinmingの演習3-5
12. C言語プログラミング(第3版)彼はQinmingの演習4-1
13. C言語プログラミング(第3版)彼は秦明の演習4-2
14. C言語プログラミング(第3版)彼はQinmingの演習4-3
15. C言語プログラミング(第3版)彼はQinmingの演習4-4
16. C言語プログラミング(第3版)彼はQinmingの演習4-5
17. C言語プログラミング(第3版)彼はQinmingの演習4-6
18. C言語プログラミング(第3版)彼はQinmingの演習4〜7
19. C言語プログラミング(第3版)彼はQinmingの演習4-8
20. C言語プログラミング(第3版)彼はQinmingの演習4-9


トピック

桃を食べる猿の問題。
サルは初日に数個の桃を摘み、すぐに半分を食べましたが、それだけでは足りず、もう1個食べました。
翌朝、残りの半分を食べて、もう1個食べました。
その後、前日の残り半分と毎朝1個食べました。
n日目の朝にまた食べたいと思った時、桃は1つしか残っていませんでした。
質問:初日に何個の桃が摘まれましたか?対応するプログラムを書いてみてください。(ヒント:逆思考の方法を採用し、後ろから前に推測します)


分析プロセス

入る

条件:正の整数nを入力します(nは奇数です)

出力

条件:初日に摘み取った桃の総数を出力する

分析

n日目には1つの桃があり
ます。n- 1日目には2 *(1 + 1)= 4の桃があり
ます。n- 2日目には2 *(4 + 1)= 10の桃があり
ます。
1日目に、2 *(前日の桃の総数+ 1)桃があります

コード

#include <stdio.h>
#include <math.h>

int main () {
    
    
	/*定义变量*/
	int n;                                                                      /*定义变量,存储输入的正整数n*/
	int num=1;                                                                  /*定义变量,计算桃子总数*/
	/*赋值*/
	printf("请输入正整数n:\n");                                					/*输入提示*/
	scanf("%d \n", &n);                                            				/*输入并赋给变量*/
	
    /*计算*/
    for (int i = 1; i < n; i++) {
    
                                                   /*计算第n-i天的桃子总数,分别相加*/												
        num = 2*(num+1);
    }
    printf("第一天摘了%d个桃子\n", num);                                        	/*输出,第一天摘得桃子总数*/
	return 0;
}

運転結果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43228814/article/details/112473017