欢迎来到IT嘟嘟的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

提取不重复的整数

//题目描述 提取不重复的整数
//输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
//输入描述 :
//输入一个int型整数
//输出描述 :
//按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
//示例1
//输入
//9876673
//输出
//37689


//解题思路:
//find(start,end,value)
//start搜寻的起点,end搜寻的终点,要寻找的value值
//对于返回迭代器的查找,通过判断find(a.begin(),a.end(),value)==a.end(),来判断元素是否存在。可以去掉重复的
//把整数分离,然后从最后一个数加起
#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
	int nums, sum1 = 0;
	cin >> nums;
	vector<int> vec;
	while (nums >0)
	{
		if (find(vec.begin(), vec.end(), nums % 10) == vec.end())
			vec.push_back(nums % 10);
		nums = nums / 10;
	}
	int len = vec.size();
	for (int i = 0; i<len; i++)
	{
		sum1 += vec[i] * pow(10, len - i - 1);
	}
	cout << sum1 << endl;
	return 0;
}

  

posted on 2019-08-11 22:09  IT嘟嘟  阅读(150)  评论(0编辑  收藏  举报

导航