第1个回答 2010-09-10
int sushu (int n)
{
int j,m;
if (((n%2)!=0)||(n<=4))
m=0;
elseif
for(j=2; j <= (int)(floor(sqrt((double)(n))));j++)
{
if ((n%j)==0)
{
m=0;
break;
}
}
else
m=1;
return(m)
}
返回值为1为
素数;返回值为零为非素数。
本回答被网友采纳
第2个回答 2010-09-19
#include<stdio.h>
#include<math.h>
void main()
{
int m,x;
int fun(int a);
printf("please input a num");
scanf("%d",&m);
x=fun(m);
if(x==0)
printf("%d is a prime number\n",m);
else printf("%d is not a prime number\n",m);
}
int fun(int a)
{
int k,i;
k=sqrt(a);
for(i=2;i<=k;i++)
if(a%i==0)break;
if(i>k)return (0);
else return(1);
}
让m被2到根号下m整除,如果没有能被整除的数,则返回0,反之返回1
第3个回答 2010-09-16
#include<stdio.h>
bool judge(int n)
{
bool flag = true;
if(n==1 || n==2) return true;
for(int m=2; m < n-1; m++)
{
if(n%m == 0) flag = false;
}
if(flag) return true;
else return false;
}
void main()
{
int a = 0;
printf("请输入一个整数:");
scanf("%d",&a);
if(judge(a)) printf("%d是素数\n",a);
else printf("%d不是素数\n",a);
return;
}
第4个回答 2010-09-09
#include <stdio.h>
#include <math.h>
int prim(int n)
{
int i;
int t = ( int )sqrt( n );
for(i = 2;i <= t;i++ )
if( n%i == 0 )break;
if( i <= t )return 0;
return 1;
}
int main()
{
int n;
while(1){
scanf("%d",&n);
if( prim( n ) )printf("%d is !\n",n);
else printf("%d is not !\n",n);
}
return 0;
}