69,335
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdio.h>
int main()
{
int i, j, k;
for(i = 0; i < 100; i++)
for(j = 0; j < 50; j++)
for(k = 0; k < 20; k++)
{
if(100 == i * 1 + j * 2 + k * 5)
printf("%d one cent coin(s), %d two cent coin(s), %d five cent coin(s) equal 1 dollar.\n", i, j, k);
}
return 0;
}
const int a=5,b=2,c=1;
int i=0,j=0;
for( ; i<=100/a; ++i)
for( j=0; j<=(100-a*i)/b; ++j)
printf("a:%d,b:%d,c:%d\n", i, j, (100-a*i-b*j));
#include<stdio.h>
/*
声明1分为A,
2分为B,
5分为C
A+2B+5C=100
求出方程的解的个数就知道了有好多中兑换方法
每组解的值就是兑换的个数
*/
int main()
{
int a, b, c; /*分别为1分、2分和5分的个数*/
for(c = 0; c <= 20; c++) { /*1元钱包含的5分个数最多为20*/
for(b = 0; b <= 50; b++) { /*1元钱包含的2分个数最多为50*/
for(a = 0; a <= 100; a++) { /*1元钱包含的1分个数最多为100*/
if (a*1+b*2+c*5==100)
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
}
}
return 0;
}
class Class1
{
public static void Main(string[] args)
{
PrintHowToDivide(100);
System.Console.ReadKey();
}
public static void PrintHowToDivide(int value)
{
int temp = value;
int five = value / 5;
value %= 5;
int two = value / 2;
value %= 2;
int one = value;
PrintHowToDivide(temp, five, two, one);
}
/*
* value为需要分解的钱,num_five, num_two, num_one 分别为当前的 5 2 1块的张数
*
* */
private static void PrintHowToDivide(int value, int num_five, int num_two, int num_one)
{
System.Console.WriteLine(" {0} 块钱有如下分法: {1} 张 5 元,{2} 张 2 元,{3} 张 1 元", value, num_five, num_two, num_one);
if (num_one == value) return;
if (num_two > 0)
{
PrintHowToDivide(value, num_five, num_two - 1, num_one + 2);
}
else if (num_five > 0)
{
PrintHowToDivide(value, num_five - 1, num_two + (num_one + 5) / 2, (num_one + 5) % 2);
}
}
}
for (int i=0;i<=100;i++)
for (int j=0;j<=50;j++)
for (int m=0;m<=20;m++)
if (i*1+j*2+m*5==100)
printf("1分%d个,2分%d个,3分%d个\n",i,j,m);