题解 | #提取不重复的整数#
提取不重复的整数
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型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数