提取不重复的整数

提取不重复的整数

http://www.nowcoder.com/questionTerminal/253986e66d114d378ae8de2e6c4577c1

题目描述

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

输入描述:

输入一个int型整数

输出描述:

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

示例1
输入

9876673

输出

37689


#include <stdio.h>
#include <vector>
#include <math.h>
using namespace std;
int num;

int main()
{
    int b;
    int find;
    vector<int> vec;
    decltype(vec.begin()) p;
    scanf("%d",&num);
    while(num>10)
    {
        find = 0;
        b = num%10;
        num/=10;
        for(p=vec.begin();p<vec.end();p++)
        {
            if(b==*p)
            {
                find = 1;
            }
        }
        if(!find)
        {
            vec.push_back(b);
        }
    }
    //把最后一个数判断后加进去
    find = 0;
    for(p=vec.begin();p<vec.end();p++)
    {
        if(num==*p)
        {
            find = 1;
        }
    }
    if(!find)
    {
        vec.push_back(num);
    }
    int s = vec.size();
    int sum = 0;
    while(!vec.empty())
    {
        static int cc;
        int bs = pow(10,cc);
        int a = vec.back();
        sum += a*bs;
        ++cc;
        vec.pop_back();//笔记:注意pop_back()函数不能用来取数,要用vector.back()来取数据!!!
    }
    printf("%d",sum);
    return 0;
}
全部评论

相关推荐

昨天 09:08
裁应届生,一分钱补偿没有,离职了还脑控你,跟踪你,定位你,丁东服务是搞系每一个人
牛客吹哨人:建议细说...哨哥晚点统一更新到黑名单:不要重蹈覆辙!25届毁意向毁约裁员黑名单https://www.nowcoder.com/discuss/1317104
叮咚买菜稳定性 10人发布 投递叮咚买菜等公司10个岗位 >
点赞 评论 收藏
分享
请看图片
投递叮咚买菜等公司10个岗位 >
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务