例如对于16,输出2、4、8;否则输出“m是素数!”。要求:判断素数必须使用自定义函数实现,m通过主函数输入。对函数这块学的可差,正在学,不过这是作业,急着交。
#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)return 0;
}
int main()
{int n,i,j=0;
scanf("%d",&n);
if(isprime(n))
printf("No divisor! %d is a prime number",n);
else
{i=2;
while(i<=n/2)
{
if(n%i==0)
{
if(j)printf("、");
printf("%d",i);
j=1;
}
i++;
}
}
return 0;
}
扩展资料
#include <stdio.h>
#include <math.h>
void main()
{
int IsPrime(int m);
int n, flag;
printf("Input n:");
scanf("%d", &n);
flag = IsPrime(n);
if ( flag)
printf("它是素数\n");
else
printf("它不是素数\n");
}
int IsPrime(int m)
{
int i, k;
if (m <= 1)
return 0;
for (i=2; i<(int)sqrt(m); i++)
{
k = m%i;
if ( k==0)
{
return 0;
}
}
return 1;
}
参考资料:百度百科 - 素函数