当前位置:首页 » 编程语言 » c语言素数判定

c语言素数判定

发布时间: 2023-07-08 17:42:27

c语言编写函数判断素数

/判断是不是素数

#include<stdio.h>

int prime(int a);//函数声明

int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("prime");

else

printf("not prime") ;

}

int prime(int a)

{

int i;

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

if(a%i==0)

return 0;//a%i==0不成立

else

return 1;//a%i==0成立

}

(1)c语言素数判定扩展阅读:

素数的算法

1、素数:除了1和本身外无法被其他自然数整除的数,叫做素数,也称质数,如:2,3,5,7一系列。

2、合数:比1大但不是素数的数称为合数,如:8,9,10一系列。

3、特殊的数字:1和0既不是素数也不是合数。

4、算法: 1>确定性算法 2>随机性算法 3>Eratosthenes算法。

⑵ 用C语言如何判断素数

按照如下步骤即可用C语言判断素数:

1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。

⑶ 如何用c语言判断一个数是不是素数

判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。思路1)的代码:

#include <stdio.h>

int main(){

int a=0; // 素数的个数

int num=0; // 输入的整数

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

scanf("%d",&num);

for(int i=2;i<num;i++){if(num%i==0){a++; // 素数个数加1}}

if(a==0){printf("%d是素数。 ", num);}else{printf("%d不是素数。 ", num);}return 0;}

⑷ C语言判断素数

1,首先了解素数的定义,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。2,以下是C语言程序。

#include"stdio.h"
intmain()
{
intn,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i<n;i++)
{
if(n%i==0)//根据素数的定义n依次除以小于它本身大于1的数
flag=0;//一旦有能被整除的数,表明n不是素数,使得flag=0。
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return0;
}

⑸ 判断素数的c语言程序是什么

基本思想:把m作为被除数,将2—INT()作为除数,如果都除不尽,m就是素数,否则就不是。

可用以下程序段实现:

voidmain()

{intm,i,k;

printf("pleaseinputanumber: ");

scanf("%d",&m);

k=sqrt(m);

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

if(m%i==0)break;

if(i>=k)

printf("该数是素数");

else

printf("该数不是素数");

}

将其写成一函数,若为素数返回1,不是则返回0

intprime(m%)

{inti,k;

k=sqrt(m);

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

if(m%i==0)return0;

return1;

}

(5)c语言素数判定扩展阅读:

100->200之间的素数的个数,以及所有的素数

#include<stdio.h>

#include<math.h>

intmain()

{

inta,m,k,i;

a=0;

for(i=101;i<=200;i++)

{

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

if(i%k==0)break;

if(k>=i)

a++;

}

printf("%d ",a);

for(i=101;i<=200;i++)

{

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

if(i%k==0)break;

if(k>=i)

a++;

if(k>=i)

printf("%d",i);

}

printf(" ");

return0;

}

⑹ 编写一个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。

(6)c语言素数判定扩展阅读:


素数定理:



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



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



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



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



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



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

⑺ c语言如何判断素数

素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。

(7)c语言素数判定扩展阅读:

首先,本文英文字母都表示整数,上半部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 是大因子数。

两式都无解,是素数。

热点内容
淘宝上传时间 发布:2025-02-09 02:42:13 浏览:637
ios缓存数据 发布:2025-02-09 02:32:06 浏览:253
苹果手机如何存储word 发布:2025-02-09 02:23:02 浏览:780
安卓手机如何有苹果的emoji 发布:2025-02-09 02:11:02 浏览:808
编译原理已知语言求文法习题 发布:2025-02-09 02:05:15 浏览:132
中国首个具有世界影响力的编译器 发布:2025-02-09 01:56:21 浏览:720
tomcat上传超时 发布:2025-02-09 01:41:42 浏览:484
androidactivity竖屏 发布:2025-02-09 01:41:40 浏览:378
家庭配置怎么合理 发布:2025-02-09 01:36:14 浏览:808
头条军事源码 发布:2025-02-09 01:31:53 浏览:998