【华为机试】提取不重复的整数

来源:互联网 发布:淘宝美工是干嘛的 编辑:程序博客网 时间:2024/05/16 12:39

题目描述

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

输入

9876673

输出

37689

分析:从右到左依次提取不重复的数字,组成一个新的数字。把每位数字存放在数组中,每添加一位比较是否重复。

程序:

#include <iostream>#include <vector>using namespace std;inline bool isdiff(int n,vector<int> temp){  //检测是否有重复数字;if(temp.empty()) return true;int i=0;while(i<temp.size()){if(temp[i]==(n%10)) break;i++;}if(i==temp.size())  return true;return false;}int main(){int n;while(cin>>n){long long res=0;vector<int> temp;while(n!=0){if(isdiff(n,temp)){    temp.push_back(n%10);res=res*10+n%10;}n/=10;}cout<<res<<endl;}return 0;}

原创粉丝点击