提取不重复的整数

提取不重复的整数

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;
}
全部评论

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务