设计个函数用于判断一个数是否为素数如果是素数返回1否则返回0

如题所述

C语言实现如下:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int prime(int n)
{
int i,t;
if (n<=1) //小于等于1的数都不是质数。
{
return 0;
exit(0);
}
t=(int)sqrt(n);
for(i=2;i<=t;i++)
if (n%i==0) /*发现该数的因数除了1和它本身还有别的数,说明这个数不是素数,返回值0.*/
{
return 0;
exit(0);
}
return 1;  //否则,该数为素数,返回值1.
}
void main()
{
int n,result;
scanf("%d",&n);//输入一个数。
result=prime(n);
printf("%d\n",result);
}

C++实现如下:

#include<iostream>
#include<stdlib.h>
#include<cmath>
using namespace std;
int prime(int n)
{
int i,t;
if (n<=1) //小于等于1的数都不是质数。
{
return 0;
exit(0);
}
t=(int)sqrt(n);
for(i=2;i<=t;i++)
if (n%i==0) /*发现该数的因数除了1和它本身还有别的数,说明这个数不是素数,返回值0.*/
{
return 0;
exit(0);
}
return 1;  //否则,该数为素数,返回值1.
}
void main()
{
int n,result;
cin>>n;//输入一个数。
result=prime(n);
cout<<result<<endl;
}

Pascal语言实现如下:

var

 n:longint;

function prime(n:longint):integer;

var

 i:longint;

begin

 if n<=1 then exit(0);

 for i:=2 to round(sqrt(n)) do

  if (n mod i=0) then exit(0);

 exit(1);

end;

begin

 readln(n);

 writeln(prime(n));

end.


样例1

输入:12

输出:0


样例2

输入:7

输出:1


样例3

输入:89

输出:1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-14
public static int sushu(int x)
{
int flag = 0;
for (int i = 2; i <= Math.Sqrt(x); i++)
{
if (x % i == 0)
{
break;
}
flag = 1;
}
return flag;
}本回答被网友采纳
第2个回答  2015-12-02
1和0的事,就像9和10