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

【C语言训练】邮票组合问题

2017-05-14 23:23 330 查看

题目描述

某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

输入

输出

可得到多少种 

样例输入


样例输出


提示

将问题进行数学分析,不同张数和面值的邮票组成的邮资可用下列公式计算: 

S=3*i+5*j 

其中i为3分邮票的张数,j为5分的张数 

按题目的要求,3分的邮票可以取0、1、2、3、4张,5分的邮票可以取0、1、2、3张。采用穷举方法进行组合,可以求出这些不同面值不同张数的邮票组合后的邮资。
【代码】

#include <stdio.h> 
#define N 25 
main() 
{ 
  int a
,count=0,k; 
  int i,j,sum; 
  for(i=0;i<=4;i++) 
    for(j=0;j<=3;j++) 
    { 
      sum=3*i+5*j; 
      for(k=0;k<count;k++) 
       if(sum==a[k]) 
          break; 
      if(sum&&k==count)   //这里要注意下,题目说了至少要一张
          a[count++]=sum; 
      } 
  printf("%d\n",count); 
} 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: