【题目】
顾客在7-Eleven选了4样东西,营业员计算价格为$7.11。后发现误算成4者相乘的结果了,于是重新计算,结果发现相加后的价格依然是$7.11。试计算这4样东西的价格各为多少?
【分析】
1.枚举找出符合题意的价格数。
2.刚开始是以0.01为步进来做的,因为浮点数精度,判断相等出问题,改用扩大100倍的整型数据。
3.寻找过程让四个价格从小到大输出,这样可以压缩循环的长度。
【程序】
#include<stdio.h>
int main()
{
int a,b,c,d;
for(a=1;a<177;a++)
{
for(b=a;b<237;b++)
{
for(c=b;c<355;c++)
{
d=711-a-b-c;
if(d<c) break;
if(a*b*c*d==711000000)
printf("%.2lf %.2lf %.2lf %.2lf\n",
1.0*a/100,1.0*b/100,1.0*c/100,1.0*d/100);
}
}
}
return 0;
}
【运行】