洛谷:P5723 【深基4.例13】质数口袋

洛谷:P5723 【深基4.例13】质数口袋_第1张图片
由于不知道循环的次数所以我们首选while循环,然后再满足循环条件下找质数,以此找下去就行了。程序退出while循环要不正好相等,要不比最大容量大。但如果比最大容量大口袋装不下,所以我们要判断如果比最大润量大,就输出到他前一个为止得质数

import java.util.Scanner;

/**
*@author 作者 Your-Name:
*@version 创建时间:
*类说明:
*/
public class MainP5723 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
      Scanner input = new Scanner(System.in);
      int a = input.nextInt();
      int n = 0;
      int i = 2,j,m = 0;
      while(m < a)
      {
    	 
    	  for(j = 2;j < i;j ++)
    	  {
    		  if(i % j == 0)
    		  {
    			  break;
    		  }
    	  }
    	  if(i == j)
    	  {
    		  n ++;
    		  m += i;
//    		  System.out.println(i);
    		  //System.out.println("m1 = " + m);
    		  if(m > a)
    		  {
    			  n --;
    			  m -= i;
    			  break;
    		  }
    		  else
    		  {
    			  System.out.println(i);
    		  }
    	  }
    	  i ++;
    	  
      }
     
   // System.out.println("m = " + m);
    	 
      System.out.println(n);
	}

}

你可能感兴趣的:(Java)