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

提取不重复的整数

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(109) && 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")
全部评论

相关推荐

06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务