当前位置:首页 » 编程语言 » c语言穷举法整币兑零
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言穷举法整币兑零

发布时间: 2022-06-29 18:19:55

c语言 找零钱问题,谢谢

这很容易。
先输入n值,然后从最大面值的人民币开始减。例如:
我有238元
减最大面值的第一个。238-100=138。结果为正数且不为零。然后记录100元张数的变量加1(这些变量都应初始化时为0)
继续,138-100=38.结果正数且不为零,同上100面值变量加1,
38-100。结果小于零。不再用100面值的减。
38-50。结果同样小于零,不再用50面值的减。
38-20=18.结果为正数且不为零,20元张数的变量加1,
18-20。结果小于零。不再用20面值的减。
18-10=8。结果为正数且不为零,10元张数的变量加1,
8-10.结果小于零。不再用10面值的减。
8-5=3。结果为正数且不为零,5元张数的变量加1,
3-5。结果小于零。不再用5面值的减。
3-2=1.结果为正数且不为零,2元张数的变量加1,
1-1=0.结果为零。1元张数变量加1.显示结果。

你有:
100元(2)张,50元(0)张,20元(1)张,10元(1)张,5元(1)张,2元(1)张,1元(1)张。

② 穷举法用C语言怎么写

共有156种方案:

#include<stdio.h>

int main()

{ int a,b,c,n=0;

for(a=1; a<27; a++)

for(b=a+1; b<(800-30*a)/20; b++)

{ c=(800-30*a-20*b)/10;

if(a*30+b*20+c*10==800 && b<c)

{ n++;

printf("%2d %2d %2d ",a,b,c);

}

}

printf(" Total=%d ",n);

return 0;

}

③ C语言的问题.货币兑换问题:要求:把一元人民币换成零币(5角,2角,1角,5分,2分,1分)问有多少中兑换方法

#include <stdio.h>

void main()
{
int a,b,c,d,e,f;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(a*50+b*20+c*10+d*5+e*2+f==100)
printf("%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f);
}

运行结果:
1,0,1,0,6,28
1,0,1,0,7,26
1,0,1,0,8,24
1,0,1,0,9,22
1,0,1,0,10,20
1,0,1,0,11,18
1,0,1,0,12,16
1,0,1,0,13,14
1,0,1,0,14,12
1,0,1,0,15,10
1,0,1,0,16,8
1,0,1,0,17,6
1,0,1,0,18,4
1,0,1,0,19,2
1,0,1,0,20,0
1,0,1,1,0,35
1,0,1,1,1,33
1,0,1,1,2,31
1,0,1,1,3,29
1,0,1,1,4,27
1,0,1,1,5,25
1,0,1,1,6,23
1,0,1,1,7,21
1,0,1,1,8,19
1,0,1,1,9,17
1,0,1,1,10,15
1,0,1,1,11,13
1,0,1,1,12,11
1,0,1,1,13,9
1,0,1,1,14,7
1,0,1,1,15,5
1,0,1,1,16,3
1,0,1,1,17,1
1,0,1,2,0,30
1,0,1,2,1,28
1,0,1,2,2,26
1,0,1,2,3,24
1,0,1,2,4,22
1,0,1,2,5,20
1,0,1,2,6,18
1,0,1,2,7,16
1,0,1,2,8,14
1,0,1,2,9,12
1,0,1,2,10,10
1,0,1,2,11,8
1,0,1,2,12,6
1,0,1,2,13,4
1,0,1,2,14,2
1,0,1,2,15,0
1,0,1,3,0,25
1,0,1,3,1,23
1,0,1,3,2,21
1,0,1,3,3,19
1,0,1,3,4,17
1,0,1,3,5,15
1,0,1,3,6,13
1,0,1,3,7,11
1,0,1,3,8,9
1,0,1,3,9,7
1,0,1,3,10,5
1,0,1,3,11,3
1,0,1,3,12,1
1,0,1,4,0,20
1,0,1,4,1,18
1,0,1,4,2,16
1,0,1,4,3,14
1,0,1,4,4,12
1,0,1,4,5,10
1,0,1,4,6,8
1,0,1,4,7,6
1,0,1,4,8,4
1,0,1,4,9,2
1,0,1,4,10,0
1,0,1,5,0,15
1,0,1,5,1,13
1,0,1,5,2,11
1,0,1,5,3,9
1,0,1,5,4,7
1,0,1,5,5,5
1,0,1,5,6,3
1,0,1,5,7,1
1,0,1,6,0,10
1,0,1,6,1,8
1,0,1,6,2,6
1,0,1,6,3,4
1,0,1,6,4,2
1,0,1,6,5,0
1,0,1,7,0,5
1,0,1,7,1,3
1,0,1,7,2,1
1,0,1,8,0,0
1,0,2,0,0,30
1,0,2,0,1,28
1,0,2,0,2,26
1,0,2,0,3,24
1,0,2,0,4,22
1,0,2,0,5,20
1,0,2,0,6,18
1,0,2,0,7,16
1,0,2,0,8,14
1,0,2,0,9,12
1,0,2,0,10,10
1,0,2,0,11,8
1,0,2,0,12,6
1,0,2,0,13,4
1,0,2,0,14,2
1,0,2,0,15,0
1,0,2,1,0,25
1,0,2,1,1,23
1,0,2,1,2,21
1,0,2,1,3,19
1,0,2,1,4,17
1,0,2,1,5,15
1,0,2,1,6,13
1,0,2,1,7,11
1,0,2,1,8,9
1,0,2,1,9,7
1,0,2,1,10,5
1,0,2,1,11,3
1,0,2,1,12,1
1,0,2,2,0,20
1,0,2,2,1,18
1,0,2,2,2,16
1,0,2,2,3,14
1,0,2,2,4,12
1,0,2,2,5,10
1,0,2,2,6,8
1,0,2,2,7,6
1,0,2,2,8,4
1,0,2,2,9,2
1,0,2,2,10,0
1,0,2,3,0,15
1,0,2,3,1,13
1,0,2,3,2,11
1,0,2,3,3,9
1,0,2,3,4,7
1,0,2,3,5,5
1,0,2,3,6,3
1,0,2,3,7,1
1,0,2,4,0,10
1,0,2,4,1,8
1,0,2,4,2,6
1,0,2,4,3,4
1,0,2,4,4,2
1,0,2,4,5,0
1,0,2,5,0,5
1,0,2,5,1,3
1,0,2,5,2,1
1,0,2,6,0,0
1,0,3,0,0,20
1,0,3,0,1,18
1,0,3,0,2,16
1,0,3,0,3,14
1,0,3,0,4,12
1,0,3,0,5,10
1,0,3,0,6,8
1,0,3,0,7,6
1,0,3,0,8,4
1,0,3,0,9,2
1,0,3,0,10,0
1,0,3,1,0,15
1,0,3,1,1,13
1,0,3,1,2,11
1,0,3,1,3,9
1,0,3,1,4,7
1,0,3,1,5,5
1,0,3,1,6,3
1,0,3,1,7,1
1,0,3,2,0,10
1,0,3,2,1,8
1,0,3,2,2,6
1,0,3,2,3,4
1,0,3,2,4,2
1,0,3,2,5,0
1,0,3,3,0,5
1,0,3,3,1,3
1,0,3,3,2,1
1,0,3,4,0,0
1,0,4,0,0,10
1,0,4,0,1,8
1,0,4,0,2,6
1,0,4,0,3,4
1,0,4,0,4,2
1,0,4,0,5,0
1,0,4,1,0,5
1,0,4,1,1,3
1,0,4,1,2,1
1,0,4,2,0,0
1,0,5,0,0,0
1,1,0,0,0,30
1,1,0,0,1,28
1,1,0,0,2,26
1,1,0,0,3,24
1,1,0,0,4,22
1,1,0,0,5,20
1,1,0,0,6,18
1,1,0,0,7,16
1,1,0,0,8,14
1,1,0,0,9,12
1,1,0,0,10,10
1,1,0,0,11,8
1,1,0,0,12,6
1,1,0,0,13,4
1,1,0,0,14,2
1,1,0,0,15,0
1,1,0,1,0,25
1,1,0,1,1,23
1,1,0,1,2,21
1,1,0,1,3,19
1,1,0,1,4,17
1,1,0,1,5,15
1,1,0,1,6,13
1,1,0,1,7,11
1,1,0,1,8,9
1,1,0,1,9,7
1,1,0,1,10,5
1,1,0,1,11,3
1,1,0,1,12,1
1,1,0,2,0,20
1,1,0,2,1,18
1,1,0,2,2,16
1,1,0,2,3,14
1,1,0,2,4,12
1,1,0,2,5,10
1,1,0,2,6,8
1,1,0,2,7,6
1,1,0,2,8,4
1,1,0,2,9,2
1,1,0,2,10,0
1,1,0,3,0,15
1,1,0,3,1,13
1,1,0,3,2,11
1,1,0,3,3,9
1,1,0,3,4,7
1,1,0,3,5,5
1,1,0,3,6,3
1,1,0,3,7,1
1,1,0,4,0,10
1,1,0,4,1,8
1,1,0,4,2,6
1,1,0,4,3,4
1,1,0,4,4,2
1,1,0,4,5,0
1,1,0,5,0,5
1,1,0,5,1,3
1,1,0,5,2,1
1,1,0,6,0,0
1,1,1,0,0,20
1,1,1,0,1,18
1,1,1,0,2,16
1,1,1,0,3,14
1,1,1,0,4,12
1,1,1,0,5,10
1,1,1,0,6,8
1,1,1,0,7,6
1,1,1,0,8,4
1,1,1,0,9,2
1,1,1,0,10,0
1,1,1,1,0,15
1,1,1,1,1,13
1,1,1,1,2,11
1,1,1,1,3,9
1,1,1,1,4,7
1,1,1,1,5,5
1,1,1,1,6,3
1,1,1,1,7,1
1,1,1,2,0,10
1,1,1,2,1,8
1,1,1,2,2,6
1,1,1,2,3,4
1,1,1,2,4,2
1,1,1,2,5,0
1,1,1,3,0,5
1,1,1,3,1,3
1,1,1,3,2,1
1,1,1,4,0,0
1,1,2,0,0,10
1,1,2,0,1,8
1,1,2,0,2,6
1,1,2,0,3,4
1,1,2,0,4,2
1,1,2,0,5,0
1,1,2,1,0,5
1,1,2,1,1,3
1,1,2,1,2,1
1,1,2,2,0,0
1,1,3,0,0,0
1,2,0,0,0,10
1,2,0,0,1,8
1,2,0,0,2,6
1,2,0,0,3,4
1,2,0,0,4,2
1,2,0,0,5,0
1,2,0,1,0,5
1,2,0,1,1,3
1,2,0,1,2,1
1,2,0,2,0,0
1,2,1,0,0,0
2,0,0,0,0,0
Press any key to continue

④ C语言,零钱兑换问题

int sum = 0;

for(int i = 0;i <= 100 / 5;++i)
{
for(int j = 0;j <= 100 / 10;++j)
{
for(int k = 0;k <= 100 / 20;++k)
{
if(5 * i + j * 10 + k * 20 == 100)
sum++;
}
}
}
cout<<sum<<endl;

cout<<endl;
//大概意思就是 每种都循环遍历 结果等于100的 记下; 下面那个代码 漏掉了3种。

⑤ c语言换零钱

代码如下:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inti,j,k,n,cnt=0;

printf("Pleaseinputamountofmoney(unitjiao):");
scanf("%d",&n);

for(i=0;i<=(100/5);i++)
for(j=0;j<=(100/2);j++)
for(k=0;k<=100;k++)
if(i*5+j*2+k==n){
cnt++;
}

printf("Numberofconbinationsis:%d ",cnt);

system("pause");
return0;
}

运行结果:

⑥ c 语言编程题,用100元人民币兑换10元,5元和1元的纸币(每一种都要)共50张,请用穷举法编程

#include <stdio.h>


int main() {

int c = 0;

for (int s = 1; s <= 9; s++)

for (int w = 1; w <= 17; w++)

for (int y = 1; y <= 50 - s - w; y++)

if (10 * s + w * 5 + y == 100 && s + w + y == 50) {

c++;

printf("十元%2d张 五元%2d张 一元%2d张 ", s, w, y);


}

printf("共有%d种 ", c);

return 0;

}

⑦ C语言初学者问题,零钱换整钱

好久不碰编程了,可能也说不太明白了,只能给你提供个大概思路
x是每摞硬币的厚度,单位为mm,n为10元张数,算式为:x/1.8+x/2*10+x/1.5*5=100n(我想你应该能看懂)。ps:其实不用简化,但是简化之后为16x=180n,即x=11.25n
设变量x,n,x和n都为整数(就是int类型),做for循环(就是n=1开始循环,输出x/1.8,x/1.5,x/2,10n),我用数学方法算x的最小值90,n最小值8.也就是一角50个,五角60个,一元45个,总金额为80元

⑧ C语言 换零钱

#include "stdio.h"
//穷举法
void main()
{
int i,j,n,s=0;
for(i=0;i<=20;i++) //5分最多换二十个
for(j=0;j<=50;j++) //2分最多换五十个

for(n=0;n<=100;n++) //1分可以换一百个
if( 5*i+2*j+1*n == 100)
{
printf("%d %d个 , %d %d个 , %d %d个",5,i,2,j,1,n);
printf("\n");
s++;
}
printf("一共有%d种方法",s);

}

⑨ 急急急!!!!C、C++语言解决钱币兑零问题:

Hello, World!
[gDevice.usbArray count]: 1000000
gDevice.usbCount: 999997
Bye, World!
Program ended with exit code: 0

⑩ 整币兑零问题C语言编程

1 #include <stdio.h>
2 void main()
3 {int x,f,t,n;
4 x=0;
5 for(t=0;t<=50;t++) /* 变量t为2元币的张数*/
6 for(f=0;f<=20;f++) /* 变量f为5元币的张数*/
7 {n=100-f*5-t*2; /* 变量n为1元币的张数*/
8 if(n>=0) x++;} /* 变量n为非负时,用x统计兑零种数 */
9 printf("%d",x);
10 }