写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息

快,在线 C语言

先建立一个初始的素数表,例如:100以内的素数数组,用来快速判断是否是素数对于超过100的素数,算法,用不大于根号n的素数,对n进行试除,如果都不能除尽,则为素数。

#include <stdio.h>

#include <math.h>

//判断是否为素数的函数

int isPrime(int n)

{

int i=2;

while(i<=(int)sqrt(n))

{

if(n%i == 0)

return 0;  //不是素数,直接返回0

else

i++;

}

return 1;

}

int main()

{

int n;

printf("输入一个正整数: ");

scanf("%d",&n);

if(isPrime(n))

printf("%d is a prime number\n",n);

else

printf("%d is not a prime number\n",n);

return 0;

}

扩展资料;

首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。

命题 1 对于B=36N+1 形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,

则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。

若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,

则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。

参考资料来源:百度百科-质数

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-11-13
先建立一个初始的
素数
表,例如:100以内的素数数组,用来快速判断是否是素数
对于超过100的素数,
算法,用不大于根号n的素数,对n进行试除,如果都不能除尽,则为素数
第2个回答  2020-04-29
int
isprime(int
n)
//
判断n是否为素数
{

if(n<2)
return
0;
//
小于2的肯定是合数

int
i;

for(i=2;i*i<=n;i++)
if(n%i==0)
//
如果找到一个可整除它的数,那么它就是合数了
return
0;

return
1;
}
int
main()
{

int
x;

scanf("%d",&x);

if(isprime(x))
printf("%d
is
a
prime\n",x);

else printf("%d
is
not
prime\n",x);

return
0;
}
第3个回答  2019-12-06

#include
<stdio.h>
_Bool
sspd(unsigned
long
long
i);
int
main(void)
{
unsigned
long
long
x;
printf(" 
请输入
1
个正整数;");
while(scanf("%llu",&x)==1
&&
x)
{
if(sspd(x)
&&
x!=1
||
x==2)
printf(" 
%llu
是素数\n\n",x);
else
printf(" 
%llu
不是素数\n\n",x);
printf(" 
请输入
1
个正整数;");
}
return
0;
}
_Bool
sspd(unsigned
long
long
srs)
//必须:srs>2
{
unsigned
long
long
div;
for(div=2;div*div<srs+1;div++)
if(!(srs%div))
return
0;
return
1;     
}

第4个回答  2019-01-24
#include<iostream>
using
namespace
std;
bool
isSushu(int);//检查是否是素数
void
main()
{
int
a;
cout<<"请输入数字:";
cin>>a;
if
(isSushu(a))
{
cout<<a<<"是一个素数"<<endl;
}
else
{
cout<<a<<"不是一个素数"<<endl;
}
}
bool
isSushu(int
a)
{
if
(a==2)
{
return
true;
}
for(int
i=2;i<a;i++)
{
if
(a%i==0)
{
return
false;
}
}
return
true;
}

写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息
include <stdio.h> include <math.h> \/\/判断是否为素数的函数 int isPrime(int n){ int i=2;while(i<=(int)sqrt(n)){ if(n%i == 0)return 0; \/\/不是素数,直接返回0 else i++;} return 1;} int main(){ int n;printf("输入一个正整数: ");scanf("%d",&n);if(isPrime...

用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息...
输出是否素数的信息的源代码如下:include <stdio.h> include <stdbool.h> bool prime(int x){ if (2 > x ) { return false;} for (int i = 2; i < x ; i++) { if (0 == x % i ) { return false;} } return true;} int main(){ for (int i = 2; i < 100; i+...

c语言程序改错写一个判别素数的函数,在主函数输入一个整数,输出是否素 ...
include <stdio.h> int main(){ int n,i;printf("输入指定的正整数(一个大于1的正整数) :");scanf("%d",&n);printf("1到%d之间的质数有 :",n);int fun(int n);for(i=2;i<=n;i++){ if(fun(i)==1)printf("%2d ",i);} return 0;} int fun(int n){ int i;for(...

C语言编程 写一个判断素数的函数,在主函数输入一个整数,输出是否...
int i;for (i=2;i<n;i++)if(n%i==0)return 0;return 1;} void main(){ int n;printf("请输入一个数:");scanf("%d",&n);if(isprime(n))printf("%d是素数\\n");else printf("%di不是素数\\n"); }

写一个判别素数的函数prime(),在主函数输入一个整数,判断输出是否是素数...
int number;int prime(int number);printf("请输入一个正整数:\\n");scanf("%d",&number);if (prime(number))printf("\\n %d是素数. ",number);else printf("\\n %d不是素数. ",number);}int prime(int num) \/*此函数用于判别素数*\/ { int flag=1,n;for(n=2;n<num\/2 &&flag ...

用C++编写一个判别素数的函数,在主函数中输入一个整数,通过参数调用...
int main(){ int m;while(1){ printf("请输入数字(输入0退出):");scanf("%d",&m);if (m == 0){ return 0;} if (fun_m(m)){ printf("%d是素数!",m);} else { printf("%d不是素数!",m);} } return 0;} int fun_m(int x){ int n,flag=1;for(n=2;n<x;n++)...

...在主函数中输入一个整数,输出是否是素数的信息。要求: (1)编_百 ...
include<cmath> using namespace std;void fun(int a){ int k,i;k=sqrt(a);for(i=2;i<=k;i++)if(a%i==0)break;if(i>k)cout<<a<<"是素数"<<endl;else cout<<a<<"不是素数"<<endl;} main(){ int a;cout<<"请输入一个整数";cin>>a;fun(a);return 0;} ...

编写一个判断素数的函数,并在主函数中调用,验证函数的正确性,以C语言...
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为素数;返回值为零为非素数。

c语言写判断素数?
printf("请输入一个整数:");scanf("%d", &num);\/\/ 调用函数判断是否为素数,并输出结果 if (isPrime(num)) { printf("%d 是素数。\\n", num);} else { printf("%d 不是素数。\\n", num);} return 0;} 这个程序首先定义了一个 isPrime 函数,用于判断一个数是否为素数。然后在 main ...

C语言,编写函数判断一个整数是否为素数,在主函数中调用该函数并输出10...
int i;int result = 1;if(n==1)return 0;for(i=2;i<n;i++){ if(n%i==0){ result = 0;break;} } return result;} int main(){ int n;printf("100以内的素数包括:\\n");for(n=1;n<=100;n++){ if(is_prime_number(n)){ printf("%d ",n);} } printf("\\n");retu...

相似回答