解题思路:
如题,设原有机器人x个:
1年后总数是:(x+(2x-1))=5 + 9 = 14;
2年后总数是:(x+(2x-1)+(2(2x-1)-1))=5 + 9 + 17 = 31;
n年新生存在数=(2*(n-1年的新生数)-送走数1);
n年总数=n年新生存在数+(n-1年基数);
注意事项:
机器人总数s不超过50位,不是不超过50,所以不能定义成int型;
参考代码:
# include <stdio.h>
int main(){
int n,j;
double s,sum,i,a;
scanf("%d%lf",&n,&s);
for(i=0;i<=s/2;i++){
sum=a=i;
j=n;
while(j--){
a=a*2-1;
sum+=a;}
if(sum==s) break;
}
printf("%.0f",i);
}
0.0分
7 人评分
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:741 |
【绝对值排序】 (C++代码)浏览:720 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1000 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:636 |
简单的a+b (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:524 |
罗列完美数 (C语言代码)浏览:519 |
用筛法求之N内的素数。 (C语言代码)浏览:595 |
IP判断 (C语言代码)浏览:592 |