这道题是给一个偶数,然后找出两个素数的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 解题报告相关推荐

  1. POJ 1003 解题报告

    1.问题描述: http://poj.org/problem?id=1003 2.解题思路: 最直观的的想法是看能不能够直接求出一个通项式,然后直接算就好了, 但是这样好水的样子,而且也不知道这个通项 ...

  2. POJ 2159 解题报告

    一.substitution cipher (置换密码): Substitution cipher changes all occurrences of each letter to some oth ...

  3. POJ 3250 解题报告 Bad Hair Day (单调栈)

    传送门:http://poj.org/problem?id=3250 这题--水题啊,单调栈可解. 上一波C艹实现 #include <iostream> #include <cst ...

  4. POJ 1679 解题报告

    这道题是判断最小生成树是否唯一. 方法之一(也是显而易见正确的方法)是求次小生成树,然后看两者的值是否一样.一样则不唯一.ByVoid有对次小生成树(及次短路径)的讲解(https://www.byv ...

  5. POJ 1185 解题报告 炮兵阵地

    题目是中文的,我就不描述题意了. 题目用到的主要算法是状态压缩dp. 思路是,我们要知道n行最多的炮数,只要知道n-2行所有状态最多的炮数,就可以根据n-1行和n行最多可行的状态算出.也就是说,n-2 ...

  6. POJ 2593解题报告

    题目来源 :PKU 2593 http://acm.pku.edu.cn/JudgeOnline/problem?id=2593 解法类型 :动态规划应用 作    者 :刘亚宁 题目大意: 抽取一个 ...

  7. POJ 1017解题报告

    这题看起来简单,实际上要考虑的地方不少,一不小心就可能漏掉某条件导致WA,我一次测了1000组输入输出才发现自己原来的代码里面有40组输出是错误的,然后一步步调试,终于AC了.一直WA又找不到自己错在 ...

  8. POJ 2800 垂直直方图 解题报告

    POJ 2800 垂直直方图 解题报告 编号:2800   考查点:简单计算题 思路: 用gets()读入4行数据,然后按字符统计,显示的时候有点小处理即可. 提交情况: 感觉POJ的测试数据有点骗人 ...

  9. POJ 2745 显示器 解题报告

    POJ 2745 显示器 解题报告 编号:2745   考查点:模拟 思路:抽象出来,计算器显示是7个笔画,然后建立数组表示各笔画被覆盖情况,不过这个是我看了书之后实现的,方法果真经典. 提交情况:比 ...

最新文章

  1. 毕业后的第二个月的一点思绪
  2. 反编译工具的使用和字节码文件的查看(Binary Viewer)
  3. python sqlite3 带密码_Python实现ATM提款机系统
  4. 输入法黑科技:语音识别准确率98% 用户超过6亿
  5. H.264简单码流分析
  6. Linux系统忘记密码怎么办?
  7. 编辑距离问题(Edit Distance Problem)
  8. jquery 获取指定元素
  9. 基本知识 100136
  10. 超实用ExtJS教程100例
  11. SPSS modeler for mac安装教程
  12. 图的遍历(深度优先搜索)
  13. Android壁纸之静态壁纸
  14. 联想台式机Windows 7系统设置双显示器输出
  15. Ubuntu 使用 ffmpeg 将 webm 转换为 mp4 (批量)
  16. 几何画板如何添加按钮
  17. Word中设置不同的页眉或页脚
  18. 有关计算机的英语作文一千字,英语作文一封信大学1000词5篇
  19. matlab怎么绘制李萨如图形_在MatLab中使用for循环绘制图形
  20. PLSQL_自治事务和嵌套事物的理解和用法(案例)

热门文章

  1. html 页面自适应table,HTML页面自适应宽度的table表格
  2. java的Excel导出方式总结
  3. MATLAB 归一化 函数用法以及实例
  4. matlab绘图学习(二维曲线)
  5. 高分辨率影像卫星之法国
  6. Matlab遗传算法求函数最大值
  7. 设计模式怎样解决设计问题
  8. 浅谈智慧校园能源监控系统的设计
  9. ubuntu下如何批量修改文件后缀名
  10. 中央机关及其直属机构2007年考试录用公务员公告