MOOC清华《程序设计基础》第6章:分鱼问题(从E到A递推)

来源:互联网 发布:ubuntu中怎么安装qq 编辑:程序博客网 时间:2024/05/16 14:51

#include <iostream>using namespace std;int main(){int num[5];for(num[4] = 6;  ; num[4] += 5){/*if(num[4] % 4 != 0)continue;num[3] = num[4] / 4 * 5 + 1;if(num[3] % 4 != 0)continue;num[2] = num[3] / 4 * 5 + 1;if(num[2] % 4 != 0)continue;num[1] = num[2] / 4 * 5 + 1;if(num[1] % 4 != 0)continue;num[0] = num[1] / 4 * 5 + 1;*///以上代码可用以下循环结构代替int i = 4;for(  ; i >= 1; i--){if(num[i] % 4 != 0)break;num[i - 1] = num[i] / 4 * 5 + 1;} if(i >= 1)continue;break;}//代码优化提示1:num[4]步长为5,同时又是4的倍数,所以步长可以是20 //代码优化提示2:初值原本从6开始,为的是扔掉1条还能分5份,现在又是4的倍数,所以可以从16开始 for(int i = 0; i < 5; i++){cout << "num[" << i << "] = " << num[i] << ' ' << endl;cout << char(i + 65) << " 分到了 " << (num[i] - 1) / 5 << " 条鱼!" << endl;cout << endl;}return 0;}




阅读全文
0 0
原创粉丝点击