zoukankan      html  css  js  c++  java
  • (Java实现) 洛谷 P1036 选数

    在这里插入图片描述
    输入输出格式
    输入格式:
    键盘输入,格式为:
    n,k
    x1,x2,x3…xn

    输出格式:
    屏幕输出,格式为: 11个整数(满足条件的种数)。

    输入输出样例
    输入样例#1:
    4 3
    3 7 12 19
    输出样例#1:
    1

    import java.util.Scanner;
    
    
    
    
    public class xuanshu {
    	private static Scanner cin;
    	private static int[] numbers ;
    	private static int counter = 0;
    	
    	public static void main(String args[]) throws Exception {
    		cin = new Scanner(System.in);
    		int n = cin.nextInt();
    		int k = cin.nextInt();
    		numbers = new int[n];
    		for(int i=0;i<n;i++) {
    			numbers[i] = cin.nextInt();
    		}
    		for(int i=0;i<n-k+1;i++) {
    			calc(n,i,k,0,String.valueOf(i));
    		}
    		System.out.println(counter);
    	}
    	
    	public  static void calc(int n,int start, int k,int ret,String value) {
    		int sum = 0;
    		if(n-start <k ) {
    			return;
    		}
    		if (k == 1) {
    			sum = ret + numbers[start];
    			if(testIsPrime(sum)) {
    				counter++;
    			}
    		}else {
    			sum = ret+numbers[start];
    			for (int i=start;i<n;i++) {
    				calc(n,i+1,k-1,sum,value+"-"+i);
    			}
    		}
    	}
    	
    	 public static boolean testIsPrime(int n){
    	       if (n <= 3) {
    	            return n > 1;
    	        }
    	        
    	       for(int i=2;i<=Math.sqrt(n);i++){
    	           if(n%i == 0)
    	               return false;
    	       }
    	       return true;
    	   }
    
    
    }
    
    
  • 相关阅读:
    无线桥接(WDS)如何设置?
    Linux内核的整体架构简介
    Efuse--芯片存储
    Linux下编写和加载 .ko 文件(驱动模块文件)
    统计难题
    最少拦截系统
    (比赛)B
    (比赛)A
    F
    K
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948908.html
Copyright © 2011-2022 走看看