c语言程序编程(分解质因数)

来源:百度知道 编辑:UC知道 时间:2024/05/12 12:06:03
将一个整数分解质因数,例如:输入90,打印出90=2*3*3*5。

#include <stdio.h>
int isPrime(int a)
{
int temp = a;
for(int i = a/2;i>=2;i--)
{
if(!(temp%i))
return 0;
}
return 1;
}

int main()
{
int a,i=0,flag = 1,t=2;;
printf("请输入你要分解的数: ");
scanf("%d",&a);

printf("%d=",a);
while(a!=1)
{
while(isPrime(t))
{
if(a%t==0)
{
printf("%d",t);
a /= t;
if(a!=1)
printf("*");
}
else
t++;
}
t++;
}
getchar();
return 0;
}

自己去看,没有写注释,其实简单

给多点分来就把整个程序写给你

首先编写一个判断质数的函数,然后
scanf("%d,&s");
s=a*b*c;
最后用函数判断a、b 、c都是质数就Ok啦!

void foo(long n)
{
for(int i = 2; i <= n / 2; i++){
if(n % i == 0) {
printf("%d*", i);
foo(n / i);
return;
}
}