zoukankan      html  css  js  c++  java
  • poj 2739 java

    这是今天做 自己把想法规划了一下 然后做的时间还是花费了两个小时  不够熟练  在一些小地方要注意让sum重新归零

     1 import java.util.ArrayList;
     2 import java.util.List;
     3 import java.util.Scanner;
     4 import java.io.*;
     5 
     6 public class Main {
     7 
     8     public static void main(String args[]) {
     9 
    10         Scanner cin = new Scanner(new BufferedInputStream(System.in));
    11         List<Integer> prime = new ArrayList<Integer>();
    12         int k=0,Sum=0,num;
    13         for(int i=2;i<10000;i++){
    14             if(IsPrime(i)){
    15                 prime.add(i);
    16             }                
    17         }
    18         
    19       while (hasNext((num=cin.nextInt()))) {
    20         
    21           if(IsPrime(num)){
    22               k=1;
    23           }
    24           
    25           for(int i=0;i<num;i++){
    26               
    27               int q =i;
    28               
    29               int limit = prime.get(i)+prime.get(i+1);
    30               if(limit>num)
    31                   break;
    32               
    33               
    34               while(true){
    35                   
    36                 Sum=Sum+prime.get(i);
    37                 i++;
    38                   
    39                   if(Sum==num){
    40                       k++;
    41                       Sum=0;
    42                       break;    
    43                   }
    44                   
    45                   if(Sum>num){
    46                       Sum=0;
    47                       break;
    48                   }
    49                   
    50               }
    51                             
    52               i=q;
    53                         
    54         }
    55           
    56           System.out.println(k);
    57           k=0;
    58     }
    59         
    60         
    61         
    62     }
    63     
    64     public static boolean hasNext(int num){
    65         if(num==0){
    66             return false;
    67         }
    68         
    69         return true;
    70         
    71     }
    72 
    73     public static boolean IsPrime(int num) {
    74         for (int i = 2; i <= Math.sqrt(num); i++) {
    75             if (num % i == 0)
    76                 return false;
    77         }
    78         return true;
    79     }
    View Code
  • 相关阅读:
    matlab画图-在同一图像中显示多个函数
    matlab简单作图2
    matlab简单作图
    c++ this指针概念
    c++ 静态成员
    C++ 类对象作为类成员
    (C++核心编程 )初始化列表
    (C++核心编程 )点和圆的关系
    (C++核心编程)设计立方体类
    (python基础 函数)
  • 原文地址:https://www.cnblogs.com/sasaxu/p/3247906.html
Copyright © 2011-2022 走看看