題目:
一根皮筋, 中間切一刀, 可以得到2根皮筋。
如果先對折1次, 中間切一刀, 可以得到3根皮筋。
如果連續(xù)對折2次, 中間切一刀, 可以得到5根皮筋。
那么, 連續(xù)對折10次, 中間切一刀, 會得到多少皮筋呢?
分析
剛看到這個題目我感覺題目錯了,對折一次切一刀得到的難道不是4根嗎?
當(dāng)我智障般發(fā)問以后突然意識到,題目沒錯,是我智障了。
皮筋對折一次以后有一端是連著的,所以切之后少了一根。
皮筋對折兩次時,有三端是連著的,所以切之后少了三根。
開戰(zhàn)
于是:
折數(shù)=上一次折數(shù)+上一次層數(shù)
層數(shù)=上一次層數(shù)2
條數(shù)=層數(shù)2-折數(shù)
代碼:
int main()
{
// 對折次數(shù)
int n=10, cen = 1, zhe = 0;
for(int i=0; i<n; i++)
{
zhe += cen;
cen *= 2;
}
printf("%d", cen*2-zhe);
}
結(jié)果:

圖片發(fā)自簡書App