目录
- 题目简介
- 代码描述
- 思路简介
题目描述
古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
本关任务:编写一个程序能输出百钱买百鸡的所有可能组合。
代码描述
int main(){
int i,j;int temp,sum;
for(i=0;i<=20;i++){
for(j=0;j<=33;j++){
temp=(100-5*i-3*j)*3;
sum=i+j+temp;
if(temp>=1&&temp<=100&&sum==100){
printf("%d,%d,%d\n",i,j,temp);
}
}
}
return 0;
}
思路简介
与传统三重循环不同,本解题过程只用了两层循环,极大减小了时间复杂度。利用的思想是:总钱数确定,公确定了,母确定了,剩下的雏可通过简单的加减法来确定。
感谢你看到这里!