N个数组成数组,K个数组成一个区间,一个区间所有素数的和称为SK,输出每个区间所有素数的和
写了个相当傻的方法,给自己逗笑了。。。哈哈哈
package zzhaosheng;
import java.util.ArrayList;
import java.util.Scanner;
/*
* N个数组成数组,K个数组成一个区间,一个区间所有素数的和称为SK,输出每个区间所有素数的和
* 输入 第一行 两个值 一个N 一个K
* 第二行 N个数
*/
public class jisuanSK {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
for(int i =0;i<N;i++) {
list.add(sc.nextInt());
}
//System.out.println(list);
System.out.println("=======================");
fenge(list,N,K,K);
}
public static int fenge(ArrayList<Integer> list ,int N,int K,int n) throws IndexOutOfBoundsException{
int num1=0;
for(int j=0;j<K;j++) {
//System.out.println(list.get(j));
if(isPrime(list.get(j))) {
num1 += list.get(j);
}else {
num1 = num1+0;
}
}
System.out.println(num1);
for(int k=0;k<K;k++) {
list.remove(k);
list.add(k,0);
}
//System.out.println(list);
fenge(list,N,K+n,n);
return num1;
}
public static boolean isPrime(int num){
boolean isprime=true;
int len=num/2;
for(int i=2;i<len;i++){
if(num%i==0){
isprime=false;
break;
}
}
return isprime;
}
}