解题思路

1.首先计算所有可能的值

2.将数值放入vector函数中

3.去掉“0”这个无效数值

4.遍历去掉数组中重复的值

5.用size计算剩余的长度(即种类的统计)


注意事项:

  1. 谨防vector内存溢出

  2. 小心指针和int的混淆


参考代码:

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	vector<int> gal;
	for (int p = 0; p <= 4; p++)
	{
		for (int q = 0; q <= 3; q++)
		{
			int x;
			x = p * 3 + q * 5;
			gal.push_back(x);
		}
	}
	gal.erase(gal.begin()+0);
	int len = gal.size();
	int t = 0;
	while (t < len - 1)
	{
		for (int o = t + 1; o < len; o++)
		{
			int y = gal[t];
			int z = gal[o];
			if (y == z)
			{
				gal.erase(gal.begin() + t);
				t = 0;
				o = 1;
				len = gal.size();
			}
		}
		t += 1;
	}
	int s = gal.size();
	cout << s;
}


点赞(0)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

陌上竹叶 1年前 回复TA
@安兹乌尔恭 没有榜一大哥牛逼
安兹乌尔恭 1年前 回复TA
好牛逼
陌上竹叶 1年前 回复TA
@yyq不相信植发 好好好
yyq不相信植发 1年前 回复TA
01大神!!!