采取逆向思维的方法,从后往前推断。
1) 设x1为前一天桃子数,设x2为第二天桃子数, 则:
x2=x1/2-1, x1=(x2+1)*2
x3=x2/2-1, x2=(x3+1)*2
以此类推: x前=(x后+1)*2
2) 从第10天可以类推到第1天,是一个循环过程。
#include#include int main(){ int day, x1 = 0, x2; day=9; x2=1; while(day>0) { x1=(x2+1)*2; // 第一天的桃子数是第2天桃子数加1后的2倍 x2=x1; day--; } printf("总数为 %dn",x1); return 0; }
//利用天数 #include#include int main(void) { // 已知第10天后,剩余的桃子为 1 int iLeft = 1 ; // 剩余的桃子数量 int iDay_N = 10; //天数 while( iDay_N > 1) { iLeft = (iLeft + 1) * 2; iDay_N = iDay_N -1 ; } printf( "在第%d天 剩余的桃子是%dn",iDay_N,iLeft); // system("PAUSE"); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)