读书人

100分的有关问题

发布时间: 2012-03-01 10:25:46 作者: rapoo

100分的问题
1分和2分的和5分能组成1元多少有多少种组法?
for (int i = 1; i < 100; i++)1分的所有情况1-99

for (int j = 1; j < 50; j++)2分的所有情况1-49

for (int k = 1; k < 20; k++)5分的所有情况1-19
{
printf( "%d%d%d ",i,j,k);
}

不明白为什么欠套循环执行完,就把三个数的所有组合都列出来了
关键为什么是‘所有的’组合


[解决办法]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int m,n,l;
int sum;
for(m = 0; m < 101; ++m)
for (n = 0; n < 51; ++n)
for (l = 0; l < 21; ++l)
{
sum = 1 * m + 2 * n + 5 * l;
if (sum == 100)
{
printf( "1f = %d, 2f = %d, 5f = %d\n ", m, n, l);
}
}
}
'所有的 ':就是所有的可能。只要是组成一元的方式就算。

[解决办法]
newkt不要过激,发重贴值得批评,关于倒分的判断,要结贴后再能定夺,何况就现在看来,LZ只是深陷迷雾想早日摆脱,而没有倒分者的标志性行为~
[解决办法]
两个数 A B 都各有4个值 : 1、2、3、4
列出A B的所有组合,就是把A的每一个值都与B的每一个值相对应,如下:
A = 1 , B = 1
A = 1 , B = 2
A = 1 , B = 3
A = 1 , B = 4

A = 2 , B = 1
A = 2 , B = 2
A = 2 , B = 3
A = 2 , B = 4

A = 3 , B = 1
A = 3 , B = 2
A = 3 , B = 3
A = 3 , B = 4

A = 4 , B = 1
A = 4 , B = 2
A = 4 , B = 3
A = 4 , B = 4

这就是AB的所有组合。

再加一个C,C也同AB一样有4个值。
那么想列出ABC的所有组合,就是把C的每一个值与AB的各种组合相对应起来,如下:

A = 1 , B = 1 , C = 1 ;
A = 1 , B = 2 , C = 1 ;
A = 1 , B = 3 , C = 1 ;
A = 1 , B = 4 , C = 1 ;

A = 2 , B = 1 , C = 2 ;
A = 2 , B = 2 , C = 2 ;
A = 2 , B = 3 , C = 2 ;
A = 2 , B = 4 , C = 2 ;

A = 3 , B = 1 , C = 3 ;
A = 3 , B = 2 , C = 3 ;
A = 3 , B = 3 , C = 3 ;
A = 3 , B = 4 , C = 3 ;

A = 4 , B = 1 , C = 4 ;
A = 4 , B = 2 , C = 4 ;
A = 4 , B = 3 , C = 4 ;
A = 4 , B = 4 , C = 4 ;
[解决办法]
N个数的所有组合就等于,(第N个数的每一个值)与(前面的所有组合)的组合。
应该是这样呀
-------------------------------
A = 1 , B = 1 , C = 1 ;
A = 1 , B = 1 , C = 2 ;
A = 1 , B = 1 , C = 3 ;
A = 1 , B = 1 , C = 4 ;

A = 1 , B = 2 , C = 1 ;
A = 1 , B = 2 , C = 2 ;
A = 1 , B = 2 , C = 3 ;
A = 1 , B = 2 , C = 4 ;

A = 1 , B = 3 , C = 1 ;
A = 1 , B = 3 , C = 2 ;
A = 1 , B = 3 , C = 3 ;
A = 1 , B = 3 , C = 4 ;

A = 1 , B = 4 , C = 1 ;
A = 1 , B = 4 , C = 2 ;
A = 1 , B = 4 , C = 3 ;
A = 1 , B = 4 , C = 4 ;

A = 2 , B = 1 , C = 1 ;
A = 2 , B = 1 , C = 2 ;
A = 2 , B = 1 , C = 3 ;
A = 2 , B = 1 , C = 4 ;

A = 2 , B = 2 , C = 1 ;
A = 2 , B = 2 , C = 2 ;
A = 2 , B = 2 , C = 3 ;
A = 2 , B = 2 , C = 4 ;

A = 2 , B = 3 , C = 1 ;
A = 2 , B = 3 , C = 2 ;
A = 2 , B = 3 , C = 3 ;
A = 2 , B = 3 , C = 4 ;

A = 2 , B = 4 , C = 1 ;
A = 2 , B = 4 , C = 2 ;
A = 2 , B = 4 , C = 3 ;
A = 2 , B = 4 , C = 4 ;


还有两组就不写了

读书人网 >C语言

热点推荐