作业-去重复统计(2)

发布时间:2024年01月13日

扑克牌组合

题目描述

小明从一副扑克牌中(没有大小王,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;
}

文章来源:https://blog.csdn.net/lybr513208/article/details/135574355
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。