题目大意:就是找一个给定的数的两对都不一样因数(都要大于一)。
解题思路:先(从2开始)找一个n的一个因数,这样就形成一对(k, n / k);然后把n/k再找因数m,这样第二对就是(k* m, n/k/m);
#include<stdio.h>
int t, n, s[5];
int main() {
scanf("%d", &t);
int i, j , k ;
for( i = 0; i < t; i++) {
scanf("%d", &n);
printf("Case #%d: ", i + 1);
for( j = 2; ;j++) {
if(n % j == 0) {
s[0] = j;
s[1] = n / j;
break;
}
}
for(k = 2; ; k++) {
if(s[1] % k == 0) {
s[2] = s[0] * k;
s[3] = s[1] / k;
break;
}
}
printf("%d = %d * %d = %d * %d\n", n, s[0], s[1], s[2], s[3]);
}
return 0;
}