标题:啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
本题很多人是做不出来的,其实题目本身并不难,但要注意的问题是使用double 的时候有一个精度损失的问题。注意到这点并且把它处理掉我想这道题就很简单了。
下面附上AC代码:
#include<cstdio>
#include<cstring>
#include<cmath>
int main()
{
double p=2.30,y=1.90;
for(int i=1;i<=40;i++)
{
for(int j=1;j<i;j++)
{
if(fabs((i*y+j*p)-82.3)<=0.00001)
{
if(j<i)
{
printf("%d %d\n",i,j);
}
}
}
}
return 0;
}