poj 2262 解题报告
这道题是给一个偶数,然后找出两个素数的a、b和等于这个偶数,如果有多对的话就输出一个a-b最大的组结果。这道题很简单以前AC过,今天我改了一些判断一个数是否是素数的那个方法,但是没想到时间还是和以前的差不多,在poj上提交还慢了几十ms,但是在天津大学大acm oj上提交快了几十ms,呵呵!
import java.util.Scanner; public class Main{ private static int[] prime = new int[] {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 }; public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()) { int n = sc.nextInt(); if (n == 0) break; boolean flag = false; for (int i = 2; i < n;) { // if (isPrime(i) && isPrime(n - i)) { if (isPrime(i) && isPrime(n - i)) { flag = true; System.out.println(n + " = " + i + " + " + (n - i)); break; } if (i == 2) ++i; else i += 2; } if (!flag) System.out.println("Goldbach's conjecture is wrong."); } } static boolean isPrime(int num) { //注释掉的是以前的方法 // int q = (int) Math.sqrt((double) num); // for (int i = 2; i <= q; ++i) { // if (num % i == 0) // return false; // } boolean b = true; for (int i = 0; i < 168; ++i) { if (prime[i] >= num) break; else if (num % prime[i] == 0) { b = false; break; } } return b; } }
poj 2262 解题报告相关推荐
- POJ 1003 解题报告
1.问题描述: http://poj.org/problem?id=1003 2.解题思路: 最直观的的想法是看能不能够直接求出一个通项式,然后直接算就好了, 但是这样好水的样子,而且也不知道这个通项 ...
- POJ 2159 解题报告
一.substitution cipher (置换密码): Substitution cipher changes all occurrences of each letter to some oth ...
- POJ 3250 解题报告 Bad Hair Day (单调栈)
传送门:http://poj.org/problem?id=3250 这题--水题啊,单调栈可解. 上一波C艹实现 #include <iostream> #include <cst ...
- POJ 1679 解题报告
这道题是判断最小生成树是否唯一. 方法之一(也是显而易见正确的方法)是求次小生成树,然后看两者的值是否一样.一样则不唯一.ByVoid有对次小生成树(及次短路径)的讲解(https://www.byv ...
- POJ 1185 解题报告 炮兵阵地
题目是中文的,我就不描述题意了. 题目用到的主要算法是状态压缩dp. 思路是,我们要知道n行最多的炮数,只要知道n-2行所有状态最多的炮数,就可以根据n-1行和n行最多可行的状态算出.也就是说,n-2 ...
- POJ 2593解题报告
题目来源 :PKU 2593 http://acm.pku.edu.cn/JudgeOnline/problem?id=2593 解法类型 :动态规划应用 作 者 :刘亚宁 题目大意: 抽取一个 ...
- POJ 1017解题报告
这题看起来简单,实际上要考虑的地方不少,一不小心就可能漏掉某条件导致WA,我一次测了1000组输入输出才发现自己原来的代码里面有40组输出是错误的,然后一步步调试,终于AC了.一直WA又找不到自己错在 ...
- POJ 2800 垂直直方图 解题报告
POJ 2800 垂直直方图 解题报告 编号:2800 考查点:简单计算题 思路: 用gets()读入4行数据,然后按字符统计,显示的时候有点小处理即可. 提交情况: 感觉POJ的测试数据有点骗人 ...
- POJ 2745 显示器 解题报告
POJ 2745 显示器 解题报告 编号:2745 考查点:模拟 思路:抽象出来,计算器显示是7个笔画,然后建立数组表示各笔画被覆盖情况,不过这个是我看了书之后实现的,方法果真经典. 提交情况:比 ...
最新文章
- 毕业后的第二个月的一点思绪
- 反编译工具的使用和字节码文件的查看(Binary Viewer)
- python sqlite3 带密码_Python实现ATM提款机系统
- 输入法黑科技:语音识别准确率98% 用户超过6亿
- H.264简单码流分析
- Linux系统忘记密码怎么办?
- 编辑距离问题(Edit Distance Problem)
- jquery 获取指定元素
- 基本知识 100136
- 超实用ExtJS教程100例
- SPSS modeler for mac安装教程
- 图的遍历(深度优先搜索)
- Android壁纸之静态壁纸
- 联想台式机Windows 7系统设置双显示器输出
- Ubuntu 使用 ffmpeg 将 webm 转换为 mp4 (批量)
- 几何画板如何添加按钮
- Word中设置不同的页眉或页脚
- 有关计算机的英语作文一千字,英语作文一封信大学1000词5篇
- matlab怎么绘制李萨如图形_在MatLab中使用for循环绘制图形
- PLSQL_自治事务和嵌套事物的理解和用法(案例)