扑克牌组合
题目描述
小明从一副扑克牌中(没有大小王,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[110];int b[110];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 = 0;j<n;j++){bool f = false;for(int k = 0;k<n;k++){if(a[i] == b[j]){f = true;break;}}if(f == false){b[lb] = a[i];lb++;}}}for(int i = 0;i<lb;i++){for(int j = 0;j<lb;j++){if(b[j]>b[j+1]){int f = b[j];b[j] = b[j+1];b[j+1] = f;}}}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[110];int b[110];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 = 0;j<n;j++){bool f = false;for(int k = 0;k<n;k++){if(a[i] == b[j]){f = true;break;}}if(f == false){b[lb] = a[i];lb++;}}}for(int i = 0;i<lb;i++){for(int j = 0;j<lb;j++){if(b[j]>b[j+1]){int f = b[j];b[j] = b[j+1];b[j+1] = f;}}}for(int i = 0;i<lb;i++){cout<<b[i]<<" ";}return 0;
}