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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值