c语言求素数思路,C语言 素数三种思路求解
#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语言 素数三种思路求解相关推荐
- 求两个链表的第一个公共结点各种情况及三种思路分析
转自:http://blog.csdn.net/ssopp24/article/details/72377184 1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序 ...
- c语言 最大公约数 最小公倍数的编程,C语言三种算法求解最大公约数与最小公倍数...
C语言三种算法求解最大公约数与最小公倍数 最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程
c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc
c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...
- 详解易语言调用大漠插件注册vip的三种方法
详解易语言调用大漠插件注册vip的三种方法 1.将大漠插件所有命令封装成易语言类模块.(类模块调用法) 2.将大漠插件所有命令封装成Ec模块(EC模块调用法) 3.将大漠插件所有命令封装成易语言支持库 ...
- leetcode84- 柱状图中最大的矩形(三种思路:暴力,单调栈+哨兵(详解),分治)
leetcode84- 柱状图中最大的矩形(三种思路:暴力,单调栈+哨兵(详解),分治) 介绍 题目 解题思路 解法一:暴力向两边搜索 解法二:单调栈 画图演示 宽度计算: 解法三:单调栈+哨兵 解法 ...
- 平台建设规划的三种思路——互联网平台建设
互联网平台建设的第04篇文章,主要分享的是保险公司互联网平台建设规划的三种思路. 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设中,最关键的一部分,载体之平台建设. 以下是正文 ...
- 机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数)
机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数) 转载于:https://blog.csdn.net/promisejia/article/details/80159619?ops_req ...
- mysql 分页查询web_JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)...
JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)-1.jpg (40.23 KB, 下载次数: 0) 2018-8-18 13:34 上传 在开发过程中,经常做的一件事,也是最基本的事 ...
- matlab迭代求解,[基于matlab平台的三种迭代法求解矩阵方程]matlab迭代法求方程的根...
数值分析第二次作业 学院:电子工程学院 基于matlab平台的三种迭代法求解矩阵方程组 求解系数矩阵由16阶Hilbert方程组构成的线性方程组的解,其中右端项为[2877/851,3491/14 ...
最新文章
- 通da信TCP长连接数据算法分析
- 预告|开源操作系统年度技术会议
- UML工具 MAGICDraw
- ChaosConf 2018:混沌实验的演变
- WebAPI(part9)--下拉菜单及留言案例
- python3读取ini文件_python3配置文件ini读取方法
- 用 document.readyState == complete 判断页面是否加载完成。
- Centos-redis安装配置
- nxlog管理配置linux,如何使用NXLOG管理配置WindowsServer日志.PDF
- 如何判断对方列表里是不是好友_QQ怎么知道自己是不是对方好友
- Android学习之ExpandableListView
- 逆向分析-QQ游戏连连看
- [渝粤教育] 岭南师范学院 文学创意写作 参考 资料
- 在c语言中对于整型变量采用哪两种存储形式,在C语言中的实型变量分为2种类型,它们是()和()...
- Spring Boot 8:Spring Boot整合Redis
- 某市有甲、乙、丙、丁四个居民区,自来水有A,B,C三个水库供应
- 一行脚本批量下载哔哩哔哩视频
- python储物柜难题_7个储物柜收纳小技巧,轻松解决你的收纳难题。
- 关于ORA-12505, TNS:listener does not currently know of SID given in connect descript的一个解决思路
- gpx读写java_GPX Parser for Java?