质数是数学重要的一环,所谓质数,就是除了1和它本身外不存在任何因子的数。以下整理了一下c语言中质数的求法。

问题:输入一个正整数n(n>=2),求不大于n的全部质数

方法一:循环法

思路:判断一个数n是不是质数,可以用2到√n之间的所有整数去除n,如果都不能整除,那么n是质数。设计循环嵌套时尽量跳过一些不必要的情况。

1."2"为必输出的质数,可以单独输出。这样循环可从3到√n判断。

2.为什么只需要判断到√n的数呢?

因为n=√n*√n,n的因数除了√n,其他都是成对存在的,且必定一个大于√n一个小于√n,假设n不是质数,有个因数大于√n(不是n本身),则n必定有一个与之对应的小于√n的因数。

3.除了2以外,不存在是偶数的质数,所以在设计循环时可以设置步数step为2。

代码:

#include

int main()

{

int n;

scanf("%d",&n);

printf("2\n");

for(int i=3;i<=n;i+=2)

{

for(int m=3;m

{

if(i%m==0 || m*m>i)

break;

}

if(m*m>i)

printf("%d\n",i);

}

return 0;

}

输入:100

运行结果:

方法二:筛法(空间换时间)

思路:把2到n中的所有数都列出来,然后从2开始,先筛去n内所有2的倍数,然后每次从下一个剩下的数(必然为质数)开始,筛去其n内所有的倍数,最后剩下的数都是质数。

1.设置一个数组a[],a[i]的值为1表示i为质数,将所有元素初始化为1

2.筛去m的倍数,即把a[2*m]、a[3*m]…置为0

3.输出a[i]值为1的i。

代码:

#include

#define MAX 100

int s;

int a[MAX];

void prime()

{

s=1;

for(int i=0;i<=MAX;i++)

a[i]=1;

a[0]=a[1]=0;

for(int i=2;i<=MAX;i++)

{

if(a[i])

a[s++]=i;

for(int j=i*2;j<=MAX;j+=i)

a[j]=0;

}

}

int main()

{

prime();

for(int i=1;i

printf("%d\n",a[i]);

return 0;

}

MAX设置值:100

运行结果:

MySQL素数怎么,求质数(素数)的方法相关推荐

  1. python实现求质数(素数)

    python实现求质数(素数) 素数(质数):我们把公约数只有1和它本身的数字称为素数又称为质数,具体使用python的求法如下: num = [] # 定义一个空列表用来接收找到的符合条件的数字 f ...

  2. python找素数-python求质数的3种方法

    本文为大家分享了多种方法求质数python实现代码,供大家参考,具体内容如下 题目要求是求所有小于n的质数的个数. 求质数方法1: 穷举法: 根据定义循环判断该数除以比他小的每个自然数(大于1),如果 ...

  3. 用java语言求前50个素数_Java求质数的几种常用算法总结

    Java求质数的几种常用算法分析 本文实例讲述了Java求质数的几种常用算法.分享给大家供大家参考,具体如下: 1.根据质数的定义求 质数定义:只能被1或者自身整除的自然数(不包括1),称为质数. 利 ...

  4. 求质数(素数)的方法

    质数是数学重要的一环,所谓质数,就是除了1和它本身外不存在任何因子的数.以下整理了一下c语言中质数的求法. 问题:输入一个正整数n(n>=2),求不大于n的全部质数 方法一:循环法 思路:判断一 ...

  5. Java 洛谷 求质数(素数)、合数、因数、最大公约数、最小公倍数

    什么是因数? "因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数.而小学数学定义 :假如a*b=c(a.b.c都是整数),那么我们称a和b就是c的因数.&q ...

  6. java中求质数(素数)的问题

    1.什么是质数? 定义:质数又称为素数,一个大于1的自然数,除了1和它自身之外,不能被其他任何自然数整除的数叫质数. 2.请输出1~100之间的所有的质数? 3.思路: <1>外层循环作为 ...

  7. 判断素数或者求出素数的基本算法 《挑战程序设计竞赛》

    2018-2-28 首先我们得明确一个概念,那就是什么是素数,据我的了解,素数就是除了1和它本身之外,不存在其他的因数的数. 1.素性测试 判断给定的数n是否是素数 这应该是最简单的了,直接从2至n, ...

  8. 俄罗斯套娃素数c语言解法,求俄罗斯套娃素数(BFS)

    求俄罗斯套娃素数(BFS) 求俄罗斯套娃素数(BFS) [var1] #pragma GCC optimize(2) #include #include #include #include #incl ...

  9. 求质数(Prime Number 素数)的方法——厄拉多塞筛法

    质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.合数 ...

最新文章

  1. GPU上创建目标检测Pipeline管道
  2. php explore im,浏栏器器-explore.class.php_php
  3. 解决ERROR 2003 (HY000): Can't connect to MySQL server on
  4. 5新标签中超链接_一环路新标签——“市井生活圈” 正在更新中......
  5. 计算机是管理信息系统的必要条件吗,管理信息系统复习题(有答案)..doc
  6. 2.2 清除标注错误的数据
  7. 英语4级口语是计算机评分吗,2017年11月英语四级口语评分标准
  8. pytorch 测试每一类_2D UNet++ VGGBlock脑胶质瘤分割BraTs + Pytorch实现
  9. vscode中文_VS Code 中文社区正式成立啦!VS Code Day 圆满落幕!
  10. Nginx缓存配置以及nginx ngx_cache_purge模块的使用
  11. csdn专用必杀技----谷歌浏览器插件
  12. 电脑程序员需要考证件吗
  13. 加载java ie停止工作_IE报错“Internet Explorer 已停止工作”解决方案
  14. 基于R语言的方差分析及多重比较
  15. VMware安装2003,win7,2008,kali
  16. 济南软件著作权申请流程
  17. 超越阿里达摩院成绩,这个斯坦福团队用“国产求解器”助中国企业实现智能决策|快公司...
  18. 怎样查询计算机登录记录,qq登陆记录,教您QQ如何查看登录历史记录
  19. java 熔断_Hystrix服务熔断
  20. 【物联网】14.物联网设备控制器选择 - 单片机(MCU)

热门文章

  1. 第 1 课 鸦片战争(1840-1842) (道光帝在位)
  2. 目标检测——YOLOv5(八)
  3. win10禁止触摸键盘_如何阻止Windows 10的触摸键盘在登录时出现
  4. 被“文化殖民”的农村
  5. 工业平板电脑在智能工厂的应用
  6. sersync-实时同步服务
  7. LoadRunner技巧之集合点设置
  8. 工作中常用的Stream集合处理
  9. java map的keyset_Java EnumMap keySet()用法及代码示例
  10. iPhone 12:旧的不去,新的也没来