【程序14】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

#define _CRT_SECURE_NO_WARNINGS
#include 
/*
【程序14】
题目:将一个正整数分解质因数。例如:输入90, 打印出90 = 2 * 3 * 3 * 5。
【分析】
就是从2到自己,一一除过去
*/
#if 0
int main(int argc, int **argv){
	int num = 0, i = 0;
	printf("请输入一个数字\n");
	scanf("%d", &num);
	printf("%d = ", num);
	for (i = 2; i <= num; i++)
	{
		if (num % i == 0)  //被整除
		{
			printf("%d * ", i);
			num = num / i;
			if (num < i)
			{
				i = 2;
				continue;
			}
		}
	}
	return 0;
}
#endif
int main(int argc, int **argv){
	int num = 0, i = 0;
	printf("请输入一个数字\n");
	scanf("%d", &num);
	printf("%d = ", num);
	for (i = 2; i <= num; i++)
	{
		while (num > i)  //保证被一个数整除后,继续从该数试
		{
			if (num % i == 0)  //被整除
			{
				printf("%d * ", i);
				num = num / i;
			}
			else
				break;
		}
	}
	printf("%d", num);
	return 0;
}

 

你可能感兴趣的:(C语言)