发布网友 发布时间:2022-05-18 22:24
共2个回答
热心网友 时间:2023-11-13 00:37
#include
void isprime(int n)
{
int i,flag=1;
for(i=2;i<=n/2;i++)
if(n%i==0)
{
flag=0;
break;
}
if(flag==1)
printf("It is a prime number");
else
{
printf("%d=%d",n,i);
n=n/i;
for(;i<=n;i++)
{
while(n%i==0)
{
printf("x%d",i);
n=n/i;
}
}
}
}
void main()
{
int a,m;
scanf("%d",&m);
isprime(m);
}
热心网友 时间:2023-11-13 00:37
我来说一说思路:
要判断一个数 n 是不是素数,只需计算 n % i (i 的范围从 2 到 n - 1) 的结果,只要有一个 i 的值使 n % i 的值为 0,那么这个数不是素数,而是合数。
注意!1、0、负数,既不是素数,也不是合数,可以什么也不输出。
至于分解质因数,就按照第 1 步的方法,只要有一个 i 的值使 n % i 的值为 0,就 n /= i,以此类推。
乘法符号(欢迎复制):×。
这么说你懂了吧?不懂的请继续追问。