目录
扑克牌组合
题目描述
小明从一副扑克牌中(没有大小王,J认为是数字11,Q是12,K是13,A是1)抽出2张牌求和, 请问能够组合出多少个不相等的数,按照由小到大输出这些数。
输入
第一行是一个整数n代表(n<=52)扑克牌的总数量
第二行的n个整数分别代表扑克牌的数值
输出
第一行是一个整数m代表组合出不相等的数字个数。
第二行m个数用空格隔开代表这m个由小到大排序的不相等
的数。
样例
输入复制
4
3 1 2 4
输出复制
5
3 4 5 6 7
代码 :
#include<iostream> using namespace std; int main() { int a[100]; int b[100]; int lb = 0; int n; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { int h = a[i]+a[j]; bool f = false; for(int z=0;z<lb;z++) { if(b[z]==h) { f = true; break; } } if(f==false) { b[lb]=h; lb++; } } } for(int i=0;i<lb-1;i++) { for(int j=0;j<lb-1-i;i++) { if(b[j]>b[j+1]) { int q = b[j]; b[j] = b[j+1]; b[j+1]= q; } } } for(int i=0;i<lb;i++) { cout<<b[i]<<" "; } return 0; }
邮票组合
题目描述
某人有m张3分的邮票和n张5分的邮票,用这些邮票中的一张或若干张(也可以是0张)可以得到多少种不
同的大于0的邮资?请找出可能组合的邮资方案总数,并按照由小到大的顺序输出所有不重复的大于0的方
案!(5.1.97)
如:1张3分和1张5分可能的邮资组合如下
0张3分+1张5分=5分
1张3分+0张5分=3分
1张3分+1张5分=8分
因此,可能的方案有3种,排序后的结果是:3 5 8!
输入
两个整数,m和n,分别代表了3分和5分的邮票的数量!
(1<=m,n<=100)
输出
输出有两行,第一行输出这两种邮票能组合的不同的大
于0的邮资方案,数与数之间用空格隔开!
第二行输出可能的方案总数!
样例
输入复制
2 2
输出复制
3 5 6 8 10 11
13 16
8
代码 :
#include<iostream>
using namespace std;
int main()
{
int a[100];
int b[100];
int lb = 0;
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<=m;j++)
{
int h = i*3 + j*5;
bool f = false;
for(int z=0;z<lb;z++)
{
if(h ==b[z])
{
f = true;
break;
}
}
if(f==false)
{
b[lb]=h;
lb++;
}
}
}
for(int i=0;i<lb;i++)
{
cout<<b[i]<<" ";
}
return 0;
}
给点流量吧大大!!!!球球了!!!