题解 | #提取不重复的整数#

提取不重复的整数

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

#include <stdio.h>

int input = 0;
int output = 0;
short bitmap = 0;

int shift()
{
    return input % 10;
}

void set(int _idx)
{
    bitmap |= 1 << _idx;
}

_Bool check(int _i)
{
    return (bitmap & (1 << _i));
}

int main()
{
    while (scanf("%d", &input) != EOF) {
        while (0 != input) {
            int tmp = shift();
            if (!check(tmp)) {
                output = output * 10 + tmp;
                set(tmp);
            }
            input /= 10;
        }

        printf("%d\n", output);
    }

    return 0;
}

描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是0。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务