题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入
9876673
输出
37689
怎么确定“不重复”
开始想利用map唯一性,但map内部是有序存储。
因为不超过10位,可以利用长度为10的数组来记录相应的数字是否已经存在。
#include<iostream>
using namespace std;
int main()
{
int n;
int a[10]={0};
while(cin>>n)
{
while(n)
{
if(a[n%10]==0)
{
cout<<n%10;
a[n%10]++;
}
n/=10;
}
}
return 0;
}
相似的题:
字符个数的统计:
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
int main()
{
string str;
int a[128]={0};
int count=0;
while(cin>>str)
{
for(int i=0;i<str.size();i++)
{
int t=(int)str[i];
if(t>=0 &&t<=127)
{
if(a[t]==0)
{
a[t]++;
count++;
}
}
}
cout<<count<<endl;
}
return 0;
}