解题思路:逆向思维解法
注意事项:上下数据类型不匹配,易报错50或超时50;
参考代码:
#include <stdio.h> //逆向思维去解就好了 (*^_^*) int main(){ int n; double s,a=0,temp=0; //这里要注意!!!! scanf("%d %lf",&n,&s); for(int i=1;i<=s;i++){ a=i; //上一年的总和 temp=2*i-1; //上一年的新生数量 for(int j=1;j<=n;j++){ a+=temp; temp=2*temp-1; } if(a==s){ //找到要返古的年份,统计结束。 printf("%d\n",i); break; } } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:711 |
C语言程序设计教程(第三版)课后习题8.1 (Java代码)浏览:828 |
【偶数求和】 (C++代码)浏览:785 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:641 |
WU-printf基础练习2 (C++代码)浏览:2061 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:943 |
1126题解浏览:649 |
数列排序 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:405 |