PAT 1013 数素数
来源:互联网 发布:超市收银软件免费版 编辑:程序博客网 时间:2024/06/06 03:53
Problem:
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
Input:
输入在一行中给出M和N,其间以空格分隔。
Output:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
Input Example:
5 27
Output Example:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103
Tip:
不能单纯使用素数判断的方法,否则会导致超时。
Code:
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] tmp = sc.nextLine().trim().split(" "); int start = Integer.parseInt(tmp[0]); int end = Integer.parseInt(tmp[1]); int t = 0; for (int i = 2;; i++) { if (f(i)) { t++; if (t > end) { break; } else if (t >= start) { if (t == end) { System.out.print(i); } else if ((t - start) != 0 && (t - start + 1) % 10 == 0) { System.out.println(i); } else { System.out.print(i + " "); } } } } } private static boolean f(int num) { //筛选掉所有非2偶数 if (num != 2 && num % 2 == 0) { return false; } for (int i = 3; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; }}
阅读全文
0 0
- PAT 1013 数素数
- 数素数,PAT,1013
- PAT 1013 数素数
- PAT 1013数素数
- PAT 1013 数素数
- ZJU PAT 1013 数素数
- PAT BASIC 1013 数素数
- PAT乙级1013 数素数
- PAT(B) 1013数素数(20)
- PAT(basic level) 1013 数素数(20)
- pat 乙级 1013 数素数(20分)
- PAT 1013. 数素数
- PAT 1013. 数素数
- PAT数素数
- PAT 数素数
- PAT 数素数
- PAT 1013. 数素数
- pat 乙级 数素数
- uva 1608(分治 + 中途相遇法)
- E
- 机器学习之Grid World的SARSA算法解析
- 初次使用Base64转储文件小结
- 集训第十七天(2017/8/16):继续研究树状数组
- PAT 1013 数素数
- HDU4939:Stupid Tower Defense(DP)
- Struts2复习小结
- myeclipse快捷键
- Codeforces 535C : Tavas and Karafs(二分)
- 2017.8.7测试 题二 约数个数
- 《霍乱时期的爱情》书评
- 最少拦截系统
- CentOS各版本更换国内源,一条指令搞定,超简单!