ural1014 Product of Digits (枚举)

来源:互联网 发布:程序员去汽车厂 编辑:程序博客网 时间:2024/06/17 13:45

从9到2对原来的数进行试除,除完之后若不等于1,则无解,否则将之前的试除出来的因子从小到大输出。特殊情况:0的时候为10,1的时候为1。

#include <bits/stdc++.h>using namespace std;int a[100];int m;int main() {    int n; scanf("%d", &n);    if (n == 0) {        printf("10\n");    } else if (n == 1) {        printf("1\n");    } else {        m = 0;        for (int i = 9; i > 1; i--) {            while (n % i == 0) {                a[m++] = i;                n /= i;            }        }        if (n != 1) {             printf("-1\n");        } else {            sort(a, a + m);            for (int i = 0; i < m; i++) {                printf("%d", a[i]);            }            printf("\n");        }    }    return 0;}


0 0
原创粉丝点击