Untitled
unknown
c_cpp
3 years ago
907 B
6
Indexable
#include <stdio.h> #include <stdbool.h> void f(int x) { int array[100000], count = 0, flag = 1; while (true) { if (x == 1 && count == 0) { printf("%d", 1); break; } else if(x == 1) { break; } if (x % 2 != 0) { if (x % 3 != 0) { if (x % 5 != 0) { if (x % 7 != 0) { flag = 0; break; } else { array[count++] = 7; x /= 7; } } else { array[count++] = 5; x /= 5; } } else { array[count++] = 3; x /= 3; } } else { array[count++] = 2; x /= 2; } } if (flag) { for (int i = 0; i < count; i++) { printf("%d", array[i]); } } else { printf("%d", -1); } } void main() { int n, x; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &x); if (i == 0) { f(x); } else { printf("\n"); f(x); } } }
Editor is loading...