小明去银行存钱,拿了一堆硬币.已知1角的硬币厚度为1.8mm,5角的硬币厚1.5mm,1元的硬币为2.0mm.小明将1角的硬币放成一摞,将5角的硬币硬 币放成一摞,将1元的硬币放成一摞,发现3摞硬币 一样高.银行正好把这些硬币换成若干张面值为 10元的纸币.问小明至少带了多少钱的硬币(元 为单位),每种面值的硬币有多少个? 要求输出格式为:1角的数量,5角的数量,1元的数量,总金额.(例如:20,30,40,50) 说明在结果中只输出各个对应的数字即可
思路:简单的数学题,算式中会出现小数点,因此double型判断是否为10的倍数时不适合,所以把它们都放大10倍,这样算式中不会出现小数,判断结果是否为100的倍数即可
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int x,y,z;
int sum=0;
for(x=1.0;x<100;x++)
{
for(y=1.0;y<100;y++)
{
for(z=1.0;z<100;z++)
{sum=x+5*y+10*z;
if((18*x==15*y)&&(18*x==20*z)&&(15*y==20*z)){
if((sum>=100)&&(sum%100==0))
printf("%d,%d,%d,%d\n",x,y,z,sum/10);
break;
}
}
}
}
return 0;
}