注册 登录
编程论坛 C++教室

转换情况小问题

zcdjt 发布于 2015-03-17 17:12, 511 次点击
//换钱有1元钱,换成5角 ,2角,1角,5分,2分,1分
//问总共有多少种情况?
#include<iostream>
using namespace std;
void answer()
{
     int a,b,c,x,y,z,i=0;     
     for(a=0;a<=2;a++)
        for(b=0;b<=5;b++)  
           for(c=0;c<=10;c++)
               for(x=0;x<=20;x++)
                  for(y=0;y<=50;y++)
                      for(z=0;z<=100;z++)
                           if(5*a+2*b+c==10&&5*x+2*y+z==100)//下面结果有问题,角和分各自为一种情况
                           {
                             cout<<"可换五角为"<<a<<endl;
                             cout<<"可换二角为"<<b<<endl;
                             cout<<"可换一角为"<<a<<endl;
                             cout<<"可换五分为"<<x<<endl;
                             cout<<"可换二分为"<<y<<endl;
                             cout<<"可换一分为"<<z<<endl;
                             i++;
                             }
     cout<<"总共有i种情况"<<i<<endl;
}
int main()
{
    answer();
    system("pause");
    return 0;
}
//应该怎么解决,有没有更加省时的写法?
6 回复
#2
诸葛欧阳2015-03-17 17:21
50*a+20*b+10*c+5*x+2*y+z)==100条件改为这样
#3
zcdjt2015-03-17 17:42
回复 2楼 诸葛欧阳
结果有错。
#4
zcdjt2015-03-17 17:45
回复 2楼 诸葛欧阳
没错,我写错了,不好意思。有没有更节省时间的。
#5
诸葛欧阳2015-03-17 18:52
那就是算法问题或者说是数学问题了
#6
zcdjt2015-03-17 20:55
回复 5楼 诸葛欧阳
求大神指导一下,谢谢!
#7
诸葛欧阳2015-03-17 21:19
你查查不定方程的解法,看看有没有思路
1