您的位置:首页 > 编程语言 > C语言/C++

邮票组合

2016-11-17 15:40 232 查看
某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

3分张数:0,1,2,3,4

4分张数:0,1,2,3

穷举每种组合可能,但排除一种可能那就是0 0 的时候,不能都为0

#include <stdio.h>
main()
{
int i,j,c=0;
for (j=0;j<=3;j++)
for (i=0;i<=4;i++)
if (i+j!=0)
++c;
printf("%d\n",c);

}


 列出每种情况的结果

#include <stdio.h>
main()
{
int i,j,k,c=0;
for (i=0;i<=4;i++) //3分取值范围从0(一张都不取) 到 4张
for (j=0;j<=3;j++) //5分的取值范围从0 到 3张
if (i+j>=1) //不能两张都不取,最少在两个当中取一张
{
c++;
printf("%3d%3d\n",c,i*3+j*5); //输出每次的组合情况
}
}

数组存储结果
#include <stdio.h>
main()
{
int i,j,k,c=0,a[30],n=0;
for (i=0;i<=4;i++)
for (j=0;j<=3;j++)
if (i+j>=1)
{
a[n++]=i*3+j*5;
--n; //让输出的从a[0]开始输出
printf("%3d%3d\n",c,a[n++]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 百题