九度1163:素数
来源:互联网 发布:学算法 画流程图 编辑:程序博客网 时间:2024/06/15 06:51
九度1163素数
本程序来自九度1163题.
- 素筛法简介
- C程序实现
素筛法简介
我们按如下思路考虑:
若一个数不是素数,则必存在一较小的数为因数。
假如获得了小于一个数的所有素数,只需确定该数不能被这些素数整除,这个数即为素数。
在获得一个素数时我们将其所有倍数标记为非素数,这样当我们遍历到一个数时,它没有被任何小于它的素数标记,则确定为素数
代码
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <iostream>using namespace std;int hasht[15001] = { 0 };int mark[15001] = { 0 };void init(){ int i, k = 0, n = 2; for (i = 0; i < 15001; i++){ mark[i] = 1; } //mark[2] = 1; for (i = 2; i < 15001; i++){ if (mark[i] == 0) continue; mark[i] = 1; hasht[k++] = i; //int tm = i*n++; n = 2; while (i*n <= 15000) mark[i*n++] = 0; }}int main(){ init();//初始化所有素数 int n = 0; while (scanf("%d",&n)!=EOF){ int flag = 0; for (int i = 0; hasht[i] < n; i++) { if (hasht[i] % 10 == 1 && !flag)//注意输出格式 { cout << hasht[i]; flag = 1; } else if (hasht[i] % 10 == 1 && flag){ cout << " " << hasht[i]; } } if (!flag) cout << "-1"; cout << endl; } return 0;}
1 0
- 九度-1163 素数
- 九度1163:素数
- 九度OJ 1163:素数 (素数)
- 九度OJ 1163 素数
- 九度oj-1163-素数
- 九度-北航-1163-素数
- 九度题目1163素数
- 九度OJ-1163:素数(未关联)
- 九度oj题目1163:素数
- 九度OJ题目1163:素数
- 题目1163:素数 九度OJ
- 九度OJ-题目1163:素数
- 【九度OJ】:1047 素数
- 【九度】 素数筛选1
- 九度-1047-素数判定
- 【九度OJ】1163【素数判断】【C实现】
- 九度oj 素数 1047,1163,1040,1140
- 【九度OJ】题目1163:素数 解题报告
- Struts2获取request的三种方法
- 看怎么修改Java Web项目名
- kruskal最小生成树
- 划分树 模板
- 机器学习算法一览(附python和R代码)
- 九度1163:素数
- Qt:QML:不同目录qml模块的调用
- Java 浅拷贝以及深拷贝
- appium WebDriverException: Message: com./.LauncherActivity never started.Current.....
- 1009. 说反话 (20)
- Python numpy scipy模块安装
- CKEditor4.6.2 图片/Flash上传及预览 附件上传
- Matlab摄像头视频基本处理
- Huffman树及编码的实现