不对折(对折零次),从中间切一刀,得到 2 根面条, 2 = 2
对折一次,从中间切一刀,得到 3 根面条, 3 = 2 + 2^0
对折两次,从中间切一刀,得到 5 根面条, 5 = 2 + 2^0 + 2^1
对折三次,从中间切一刀,得到 9 根面条, 9 = 2 + 2^0 + 2^1 + 2^2
对折十次,从中间切一刀,得到 2 + 2^0 + 2^1 + 2^2 + ...... + 2^9 根面条
#include<stdio.h>
int split(int times){
int result=2;
int s=1;
for(int i=0;i<times;i++){
result+=s;
s=s*2;
}
return result;
}
int main(){
int times=0;
int result;
for (int i=0;i<=10;i++){
result=split(times);
printf("对折%d次,切一刀,共有%d段\n",times,result);
times++;
}
// }
return 0;
}
运行结果如下:
对折0次,切一刀,共有2段
对折1次,切一刀,共有3段
对折2次,切一刀,共有5段
对折3次,切一刀,共有9段
对折4次,切一刀,共有17段
对折5次,切一刀,共有33段
对折6次,切一刀,共有65段
对折7次,切一刀,共有129段
对折8次,切一刀,共有257段
对折9次,切一刀,共有513段
对折10次,切一刀,共有1025段
--------------------------------
Process exited after 0.592 seconds with return value 0
请按任意键继续. . .