1309.啤酒和饮料
Description
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了N元。请你计算他买了几罐啤酒和几罐饮料(罐数为整数)。
Input
一个double型数据N
Output
输出啤酒和饮料的罐数,如果存在多组结果按照啤酒数从大到小排列;如果没有解答输出"No Solution"
82.3
Sample Output
30 7
11 30
一道水题,只要跑循环满足条件输出,不满足继续就好。判断是否满足的时候只要用剩下的钱除以单价判断这个数是不是小数就可以了。
下面AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const double beer=2.3,drink=1.9;
int main()
{
double n;
double t;
int b,d;
int i,j;
int k;
while(scanf("%lf",&n)!=EOF)
{
k=0;
b=(int)(n/beer);
for(i=b;i>=0;i--)
{
t=n-i*beer;
if(t/drink-(int)(t/drink)<0.000001&&t/drink>=0)
{
cout<<i<<" "<<t/drink<<endl;
k++;
}
}
if(k==0)
cout<<"No Solution"<<endl;
}
return 0;
}