10879 - Code Refactoring

题目:10879 - Code Refactoring


题目大意:就是找一个给定的数的两对都不一样因数(都要大于一)。


解题思路:先(从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;
}


你可能感兴趣的:(10879 - Code Refactoring)