當前位置:首頁 » 編程語言 » 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 }