2016 - 2024

感恩一路有你

素数c语言(c语言中判断素数的方法?)

浏览量:4518 时间:2022-12-16 11:21:06 作者:采采

素数c语言(c语言中判断素数的方法?)

素数在c语言中如何表示?

# include ltstdio . HGT void main(){ int n,i scanf(

c语言怎么表示素数?

1.先打开Visual C 6.0,然后点击左上角的文件,再点击新建。

2.然后在新建对话框中单击C源文件。

3.在新建文件文本框中输入预处理命令和主要函数,即函数头和空类型。

4.然后定义变量,输入数字,即定义变量的数据类型,输出文本提示,然后输入数字。

5.然后用for和if函数看看是不是质数。

6.点击确定,成功创建新创建的序列,随机输入一个数字,验证新创建的C语言。

c语言中判断素数的方法?

c语言判断素数(求素数)(两种方法)

也称为质数。所谓质数,是指除了1和它本身之外,不能被任何整数整除的数。例如,17是一个质数,因为它不能被2到16之间的任何整数整除。

1)思路:因此,判断一个整数M是否为素数,只要将M除以2到M-1之间的每一个整数即可。如果它们都不能被整除,那么M就是一个素数。

2):另外,判断方法可以简化。m不一定要被2到m-1之间的每一个整数去除,只需要被2到1之间的每一个整数去除。如果m不能被2和2之间的任何整数整除,则m一定是素数。比如判断17是不是质数,只需要用2到4之间的每一个整数除17就可以了。由于它们都不能被整除,所以可以确定17是一个质数。

原因:因为如果m能被2到m-1之间的任意整数整除,那么它的两个因子中一定有一个小于等于,另一个大于等于。比如16能被2、4、8整除,16=2*8,2小于4,8大于4,16=4*4,4=16,那么只需要确定2和4之间是否有因子。

请看对这两个想法的代码的分析。

1)想法的代码:

#包含ltstdio.hgt

int main(){

Int a=0 //素数的个数

Int num=0 //输入的整数

Printf(#34输入一个整数:#34)

scanf(#34%d#34,ampnum)

for(int I=2 litnumi){

if(num%i==0){

A //素数的个数加1

}

}

if(a==0){

Printf(#34%d是一个素数。

第34位,数字)

}否则{

Printf(#34%d不是质数。

第34位,数字)

}

返回0

}

2)想法的代码:

#包含ltstdio.hgt

#包含ltmath.hgt

void main(){

int//输入整数

int//周期数

int//m的平方根

Printf(#34输入一个整数:#34)

扫描f(#34%d#34,ampm)

//求平方根。请注意,sqrt()的参数是double类型。这里M的类型应该是强制转换的。

k=(int)sqrt((double)m)

for(I=2 lt=ki)

如果(m%i==0)

破裂

//如果所有的循环都完成了,那么M就是一个质数

//注意,在最后一个循环中,我会被执行。这时,i=k 1,于是就有了igtk

if(igtk)

Printf(#34%d是一个素数。

#34,m)

其他

Printf(#34%d不是质数。

#34,m)

返回0

}

两个代码的输出结果是相同的。

第一次运行的结果:

输入一个整数:1。

1是一个质数。

第二次运行的结果:

输入一个整数:97。

97是一个质数。

第三次运行的结果:

输入一个整数:10。

10不是质数。

质数 d 素数 Printf M

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。