HDOJ 2098 分拆素数和
2017-10-08 19:11
309 查看
HDACM2098
此题按常规方法去做会超时,所以就利用空间去换时间,用一个布尔数组的下标去表示数值,然后通过布尔值去判断该数是否为素数,在此之前,要先把布尔数组的下标为素数的布尔值为true即调用函数Prime(n)去求。
此题按常规方法去做会超时,所以就利用空间去换时间,用一个布尔数组的下标去表示数值,然后通过布尔值去判断该数是否为素数,在此之前,要先把布尔数组的下标为素数的布尔值为true即调用函数Prime(n)去求。
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n =sc.nextInt(); if (n==0) { break; } int count = 0; boolean[] boo = Prime(n); for (int i = 2; i < boo.length/2; i++) { if (boo[i]&&boo[n-i]) { count++; } } System.out.println(count); } } public static boolean[] Prime(int m){ boolean[] boo = new boolean[m]; for (int i = 2; i < boo.length; i++) { boo[i] = true; } for (int i = 2; i < boo.length; i++) { if (boo[i]) { for (int j = i*2; j < boo.length; j+=i) { boo[j]=false; } } } return boo; } }
相关文章推荐
- hdoj 2098 分拆素数和
- hdoj 2098 分拆素数和
- HDOJ 2098 分拆素数和
- hdoj 2098 分拆素数和
- hdoj-2098-分拆素数和
- HDOJ2098 分拆素数和
- hdoj--2098--分拆素数和(枚举)
- hdoj--2098--分拆素数和(水题)
- hdoj 2098 分拆素数和
- hdoj 2098 分拆素数和
- hdoj--2098--分拆素数和(枚举)
- hdoj--2098--分拆素数和(水题)
- hdoj 2098 分拆素数和 【素数打表】
- Hdoj 2098 分拆素数和 之解题报告
- hdoj-2098-分拆素数和
- HDOJ 分拆素数和 2098(素数打表)
- hdoj-2098-分拆素数和
- hdoj 2098 分拆素数和
- hdoj-2098-分拆素数和(解题报告)
- HDOJ2098 分拆素数和