首页 > 技术文章 > 提取不重复的整数

277223178dudu 2019-08-11 22:09 原文

//题目描述 提取不重复的整数
//输入一个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;
}

  

推荐阅读