求1n之间的所有质数,如何写程序

求1n之间的所有质数,如何写程序,第1张

程序运行时,输入n,就能求出n以内的全扮桥谨部质数:厅基

#include <stdio.h>

int main()

{

int i,j,n

scanf("%d",&n)

printf("%d以内的质数有:\n",n)

for(j=2j<消团=nj++)

{

for(i=2i*i<=ji++)

if(j%i==0)break

if(i*i>j)

printf("%5d",j)

}

printf("\n")

return 0

}

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

/*****************************************************************

*本程序用来计算1000内质数有哪些及一共有哪些。

*

*知识点:什么是质数?指仿及只能被本身和1整除的整数。

*

*时间:2018.10.22

*****************************************************************/

int main(void)

{

int i,j,result = 0,sum = 0 //燃凯i-循环变量和被判断数 j-循环变量和判断唯段纤数 result-验证是否为质数的返回值 sum-质数总量计数

for (i = 2i <= 1000i++) //第一个循环用来取出被判断数 从2开始到1000

{

for (j = 2j <= sqrt(i) + 1j++)//第二个循环是用来判断这个数是否为质数并返回,从2开始至被判断数开根后+1. sqrt(i)后面不+1 会把质数2 3丢掉

{

if (i%j == 0 &&i != j) //如果被判断数用2-被判断数来取余,如果余数为0 且不是被自已整除那么这个数一定不是质量直接返回

{

result = 0//判断出是质数后返回前必须给返回值赋0值,0代表非质数 1代表质数

break

}

result = 1

}

if (result == 1) //如果此数为质数 质数总量+1后并打印 把result返回值初始化准备下一个循环判断。

{

sum++

printf("第%d个质数:%d \n",sum,i)

result = 0

}

}

return 0

}

#include

<iostream>

using

namespace

std

int

main()

{

int

m,i,k,n=0/*n作计数器*/

for(m=1m<=100m=m+2)

{

k=1//标志变量,预设为1,一伍手旦变成0表示不腔启嫌旁缓是素数

for(i=2i<=m/2i++)

if(m%i==0)

{

k=0

break

}

if(k==1)

cout

<<

m

<<

(++n%10==0?'\n':'\t')//是素数则输出并控制一行10个

}

cout

<<

endl

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8231054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存