C++编程高手帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:44:12
有个C++编程题:就是用1分、2分、5分钱组成个1块钱。有多少500多种算法,那个程序应该怎么编啊

打印出所有组合?

#include <stdio.h>
int main()
{
for (int n5 =100/5 ; n5 >= 0; --n5)
for ( int n2 = (100-5*n5)/2; n2>=0; --n2)
printf( "5分%d个,2分%d个,1分%d个\n", n5,n2, 100-5*n5-2*n2);
}

#include<stdio.h>
void main()
{
int a,b,c;
int sum=100;
scanf("%d,%d,%d",&a,&b,&c);
if(a<=0||b<=0||c<=0)
printf("error!");
sum=a+2b+5c;
printf("%d,%d,%d\n",a,b,c);
}

算法的思想就是把一元看成100分,而1分,2分,5分的总数和是100

#include <iostream>
using namespace std;

int main()
{
int m, n, k = 0;
cout << "1分 " << "2分 " << "5分 \n";
for (m =0 ; m <= 100 / 5; m++)
for (n = 0; n <= (100-5*m)/2; n++)
{
cout << 100-5*m-2*n << " " << n << " " << m << endl;