当前位置:首页 » 编程语言 » 怎么判断一个数为素数c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

怎么判断一个数为素数c语言

发布时间: 2022-04-04 05:35:53

⑴ 用c语言判断一个数是否为素数

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int Judge(int x)
{
while(x>1)
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
if(x<=1)
return 0;
}

main()
{
int x;
printf("请输入一个数:");
scanf("%d",&x);
switch(Judge(x))
{
case 0: printf("\n%d不是素数",x);break;
case 1: printf("\n%d是素数",x);break;
}
system("pause");
}

⑵ C语言中怎么判断一个数是否是素数

设置一个循环,用一个2至这个数的平方根(取较大整数)数去除这个数,不存在任意一数可整除,则这个数就是素数,否则不是。如:

for(i=2;i*i<=n;i++)
if(n%i==0)
break;
if(i*i>=n)
printf("%d是素数 ",n);
else
printf("%d不是素数 ",n);

⑶ 用C语言怎样判断一个自然数为素数

//判断一个数是否为素数
#if
0
#include<stdio.h>
#include<math.h>
int
main()
{
int
i=2,n,k;
printf("Enter
n:\n");
scanf("%d",&n);
k=sqrt(n)+1;
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
if(i>=k)
printf("%d
is
prime
number\n",n);
esle
printf("%d
is
not
prime
munber\n",n);
}
}
#endif
这是我以前上机运行过的,你可以看一下,还有跟这相关的,你也可以看一下。
//输出2-100之间的所有素数,(质数)
#if
0
#include<stdio.h>
int
main()
{
int
i,n,t=0;
for(n=2;n<=100;n++)
{
i=2;
while(i<n
&&
n%i
!=0)
i++;
if(i==n)
{
printf("%d\t",n);
//注意\t
t++;
if(t%8==0)
printf("\n");
}
}
}
#endif
//统计整型数组a中素数的个数
#if
0
#include<stdio.h>
int
a[10]={1,2,3,4,5,6,7,8,9,10};
int
isprime(int
m)
{
int
i;
for(i=2;i<m/2;i++)
if(m%i==0)
return
0;
return
1;
//如果不是素数,返回0,返回1
}
main()
{
int
num_prime=0;
int
i;
for(i=0;i<10;i++)
if(isprime(a[i]))
{
num_prime++;
printf("a[%d]",i);
printf("%-8d",a[i]);
}
printf("\n
prime
number:%d\n",num_prime);
}
#endif
运行的时候把#if0
和#endif
去掉,你可以试试啊

⑷ c语言:判断一个数是否为素数

经过vc调试了。如有不懂得地方可以在问我。
#include <stdio.h>
#include <math.h>
int prime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)break;
if(i>sqrt(n))return 1;
else return 0;
}
void main()
{
int n;
printf("Input a number:");
scanf("%d",&n);
if(prime(n))printf("Yes\n");
else printf("No\n");
}

⑸ C语言编写一个程序判断一个数是否为素数急求

目的:判断一个数是否为素数

#include<stdio.h>


intmain(void)


{


int m;


inti;


scanf("%d",&m);


for(i=2;i< m;i++) //2到(m-1)的数去除m


{


if(m%i==0)//判断能否整除


break;

}

if(i== m)


printf("YES! ");


else


printf("No! ");


}

for循环的功能:

①若能整除,通过break跳出函数;

②若一直到m-1都不能整除,此时i再自增1到m,不满足i< m跳出for循环,这时i= m。

(5)怎么判断一个数为素数c语言扩展阅读:


素数定理:



1、在一个大于1的数a和它的2倍之间(即区间(a,2a]中)必存在至少一个素数。



2、存在任意长度的素数等差数列。



3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。



4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。



5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为(1+5)(中国潘承洞,1968年)。



6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为(1+2)。

⑹ 求C语言编程,判断一个数是不是素数

判断一个数是否是素数

#include "math.h"
int su(long x)
{
int i;
if(x%2==0) return 0;
else
for(i=3;i<sqrt(x);i+=2)
if(x%i==0) return 0;
return 1;
}

判断素数,若是就返回1,否则就返回0,先看能不能被2整出,若整除肯定不是素数,如不整除就看它能不能被3,5,7,9。。。一直到sprt(x),整除。若整除就不是素数

⑺ 如何用c语言编程判断一个数是不是素数

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("请输入一个正整数。\n");

scanf("%d",&i);

if(i<2)

printf("小于2,请重新输入。\n");

elseif(i%2==0)

printf("%d不是一个素数。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一个素数。\n",i);

break;

if(j>i/2){

printf("%d是一个素数。\n",i);

break;

方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){

if(num%i==0){

a++;

if(a==0){

printf("YES\n");

}else{

printf("NO\n");

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{

printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

for(i=2;i<a;i++)

if(a%i==0)break;

if(i==a)

printf("%d是素数\n",a);

else

printf("%d不是素数\n",a);

}while(a!=0);

⑻ 怎么判断一个数是不是素数c语言

#include<stdio.h>
intprime(intn){
inti=0;
if(n==0||n==1)return0;
for(i=2;i*i<=n;i++){
if(n%i==0)return0;
}
return1;
}
intmain(){
intn;
printf("请输入一个整数:");
scanf("%d",&n);
if(prime(n))printf("%d是一个素数!",n);
elseprintf("%d不是一个素数!",n);
return0;
}

⑼ C语言中判断一个数是否为素数

f是一个标记,当他的值为1时,说明他能被某个不为1和它本身的数整除,也就是说你输入的数不是素数,
至于那个i<=k和i>=k+1,如果你输入的那个数M一直都不能被从2到sqrt(m)整除时,经过循环后i=K+1,就满足i>=k+1,如果你输入的数M能被从2到sqrt(m)的某个数整除时,i就不会>=k+1

⑽ c语言,如何判断素数

break跳出的是离它最近的一个for循环,
break后面还要加 if(j>half)的内容是用来计算素数个数和素数和的,后面的计算没有用到half,只是用来判断的条件。