C语言_写一个函数: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

题目:C语言_写一个函数: 将一个正整数分解质因数。例如:输入90,打印出90=2335。
解题思路:1、正整数n先从2开始除,若能整除,则再从2开始整除,至到不能被2整除时除数再加1,3也不能整除时再加直至加到n的平方根都不能被整除,则该数的质因数分解完毕。
2、由思路可知,需定义两个变量,一个是正整数设为n,一个是除数设为i,需引用到平方根的概念,所以要引用#include
3、因为i每次都是从2开始,i<=sqrt(n),且不满足条件时才自增,所以i放在for循环中且作为最外层循环
#include
#include
int * getPrime(int n)
{
int i;
for (i=2;i<=sqrt(n);i++)//找出n的最小质因数,利用循环,反复求最小质因数
{
while
{
if(n%i==0)
{
printf("%d
",i);

			n=n/i;
		}
		else
			break;
	}
}
printf("%d\n",n);
}
return 0;

}
int main(){
int i;
int n;
scanf("%d",&n);
printf("%d=",n);
for (i=2;i<=sqrt(n);i++)//找出n的最小质因数,利用循环,反复求最小质因数
{
while(n!=i)
{

		if(n%i==0)
		{

			printf("%d*",i);				
			n=n/i;
		}
		else
			break;
	}
}
printf("%d\n",n);//最后一个质因数


return 0;
return 0;

}

你可能感兴趣的:(编程)