#includevoid main()

{

//一既不是素数也不是偶数、2是素数

//常规思路

//int i, j,n;

//for (j = 3; j <= n; j++)

//{

//for (i = 2; i <= j - 1; i++)

//if (j%i == 0)

//break; //有整除就说明不是素数

i==n,表明是素数

//}

//开根号

//int i, j, n;

//printf("enter the n:\n");

//scanf("%d", &n);

//for (i = 3; i < n; i++)

//{

//for (j = 2; j <= sqrt((double)i); j++)

//if (i%j == 0)

//break;

//}

/*素数筛选法*/

/*

我们知道要求某一区间内的素数,只需要将这一区间内的合数去除,即筛除即可,这种办法利用的就是这种思想。

例如:2,3,4,5,6,7,8,9,10,11,12,13,14,15.......

第一遍筛掉2的倍数:剩下2,3,5,7,9,11,13,15.....

第二遍筛掉3的倍数:剩下2,3,5,7,11,13,....

第三遍筛掉5的倍数:(为什么是5而不是4,因为4已经被2的倍数筛掉了,再筛已经无意义)

第四遍筛掉7的倍数:(为什么是7而不是6,同理因为6已经被之前的2,3筛掉了再筛也没有意义了)

。。。。。。。。。。。

//千万不要就是只要不是2357的倍数就是素数。思路是错误的,比如899=31*29,要是按2357就完全是错误的

//for (i = 2; i < 1000; i++)

//if (a[i] % 2 == 0)

//a[i] = 0;

//for (i = 3; i < 1000; i++)

//if (a[i] % 3 == 0)

//a[i] = 0;

//for (i = 5; i < 1000; i++)

//if (a[i] % 5 == 0)

//a[i] = 0;

//for (i = 7; i < 1000; i++)

//if (a[i] % 7 == 0)

//a[i] = 0;

*/

int count = 0;

int a[1000];

int i, j;

a[0] = 0;

a[1] = 0;

//初始化

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

a[i] = i;

//核心过程 sqrt((double)1000)也是借鉴了开根号的思想。

for (i = 2; i < sqrt((double)1000); i++)

if ((a[i] != 0))

{

for (j = 2 * i; j < 1000; j += i)

a[j] = 0;

}

//输出结果

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

if (a[i]){

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

count++;

}

printf("%d\t", count);

}

c语言求素数思路,C语言 素数三种思路求解相关推荐

  1. 求两个链表的第一个公共结点各种情况及三种思路分析

    转自:http://blog.csdn.net/ssopp24/article/details/72377184 1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序 ...

  2. c语言 最大公约数 最小公倍数的编程,C语言三种算法求解最大公约数与最小公倍数...

    C语言三种算法求解最大公约数与最小公倍数 最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实 ...

  3. c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程

    c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...

  4. c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc

    c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...

  5. 详解易语言调用大漠插件注册vip的三种方法

    详解易语言调用大漠插件注册vip的三种方法 1.将大漠插件所有命令封装成易语言类模块.(类模块调用法) 2.将大漠插件所有命令封装成Ec模块(EC模块调用法) 3.将大漠插件所有命令封装成易语言支持库 ...

  6. leetcode84- 柱状图中最大的矩形(三种思路:暴力,单调栈+哨兵(详解),分治)

    leetcode84- 柱状图中最大的矩形(三种思路:暴力,单调栈+哨兵(详解),分治) 介绍 题目 解题思路 解法一:暴力向两边搜索 解法二:单调栈 画图演示 宽度计算: 解法三:单调栈+哨兵 解法 ...

  7. 平台建设规划的三种思路——互联网平台建设

    互联网平台建设的第04篇文章,主要分享的是保险公司互联网平台建设规划的三种思路. 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设中,最关键的一部分,载体之平台建设. 以下是正文 ...

  8. 机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数)

    机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数) 转载于:https://blog.csdn.net/promisejia/article/details/80159619?ops_req ...

  9. mysql 分页查询web_JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)...

    JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)-1.jpg (40.23 KB, 下载次数: 0) 2018-8-18 13:34 上传 在开发过程中,经常做的一件事,也是最基本的事 ...

  10. matlab迭代求解,[基于matlab平台的三种迭代法求解矩阵方程]matlab迭代法求方程的根...

     数值分析第二次作业 学院:电子工程学院 基于matlab平台的三种迭代法求解矩阵方程组 求解系数矩阵由16阶Hilbert方程组构成的线性方程组的解,其中右端项为[2877/851,3491/14 ...

最新文章

  1. 通da信TCP长连接数据算法分析
  2. 预告|开源操作系统年度技术会议
  3. UML工具 MAGICDraw
  4. ChaosConf 2018:混沌实验的演变
  5. WebAPI(part9)--下拉菜单及留言案例
  6. python3读取ini文件_python3配置文件ini读取方法
  7. 用 document.readyState == complete 判断页面是否加载完成。
  8. Centos-redis安装配置
  9. nxlog管理配置linux,如何使用NXLOG管理配置WindowsServer日志.PDF
  10. 如何判断对方列表里是不是好友_QQ怎么知道自己是不是对方好友
  11. Android学习之ExpandableListView
  12. 逆向分析-QQ游戏连连看
  13. [渝粤教育] 岭南师范学院 文学创意写作 参考 资料
  14. 在c语言中对于整型变量采用哪两种存储形式,在C语言中的实型变量分为2种类型,它们是()和()...
  15. Spring Boot 8:Spring Boot整合Redis
  16. 某市有甲、乙、丙、丁四个居民区,自来水有A,B,C三个水库供应
  17. 一行脚本批量下载哔哩哔哩视频
  18. python储物柜难题_7个储物柜收纳小技巧,轻松解决你的收纳难题。
  19. 关于ORA-12505, TNS:listener does not currently know of SID given in connect descript的一个解决思路
  20. gpx读写java_GPX Parser for Java?

热门文章

  1. 计算机二级c语言编程题库100题下载,计算机二级c语言编程题库(100题).pdf
  2. AD----如何将立创EDA元器件封装库导入AD库
  3. 财务审计工具箱 audtool 数据处理分析必备工具
  4. 面试宝典-Java反射机制
  5. 身份证编码与校验码计算规则
  6. VS2010编译log4cpp日志库
  7. Android学习资料整理:流行框架网站书籍推荐---博客推荐
  8. ArcPad 10 的安装部署
  9. OpenGL 编程指南 ( 原书第 9 版 ) --- 第一章
  10. GBK字库集测试求助