SDNU 1309.啤酒和饮料 水题 小数的判断

来源:互联网 发布:网络上的占豪是谁啊 编辑:程序博客网 时间:2024/06/10 06:02

1309.啤酒和饮料

Description

啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了N元。请你计算他买了几罐啤酒和几罐饮料(罐数为整数)。


Input


一个double型数据N


Output


输出啤酒和饮料的罐数,如果存在多组结果按照啤酒数从大到小排列;如果没有解答输出"No Solution"


Sample Input

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;}


1 0