题解 | #提取不重复的整数#
提取不重复的整数
https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int a, b, c, n = 0, result = 0;
int arr[8] = {0};
int arr1[8] = {0};
cin >> a;
if (a >= 1 && a < pow(10, 9) && a % 10 != 0) {
for (int i = 7; i >= 1; i--) {
c = a / (pow(10, i)) ;
if (c > 0) {
b = i; //b+1位
for (int j = 0; j <= b; j++) {
c = a / (pow(10, j));
c = c % 10; //从个位读取
arr[j] = c;
//cout<<c<<endl;
}
for (int k = 0; k <= b ; k++) {
for (int m = k + 1; m <= b; m++) {
//cout<<arr[k]<<endl;
if (arr[k] != 0 && arr[k] == arr[m]) {
arr[m] = 0;
}
}
}
for (int n = 0; n <= b; n++) {
if (arr[n] != 0) {
result = result * 10 + arr[n];
}
}
break;
}
}
cout << result << endl;
}
}
// 64 位输出请用 printf("%lld")