(Java实现) 洛谷 P1036 选数
JAVA 实现 洛谷
2023-09-14 08:58:18 时间
输入输出格式
输入格式:
键盘输入,格式为:
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;
}
}
相关文章
- Java实现固定长度得01子串
- Java实现 LeetCode 188 买卖股票的最佳时机 IV
- Java实现 LeetCode 131 分割回文串
- Java实现 LeetCode 42 接雨水
- Java实现蓝桥杯G将军
- Java实现 洛谷 P1601 A+B Problem(高精)
- Java实现 洛谷 P1508 Likecloud-吃、吃、吃
- Java实现 洛谷 P1583 魔法照片
- Java实现 洛谷 P1423 小玉在游泳
- Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
- Java实现 洛谷 P2141 珠心算测验
- java实现 洛谷 P1540 机器
- java实现 洛谷 P1464 Function
- java实现洛谷P3376【模板】网络最大流
- java实现测量到的工程数据
- Java实现第八届蓝桥杯正则问题
- java实现第七届蓝桥杯搭积木
- Java实现 蓝桥杯 算法训练 关联矩阵
- (Java实现) 洛谷 P1553 数字反转(升级版)
- (Java实现) 洛谷 P1051 谁拿了最多奖学金
- (Java实现) 洛谷 P1042 乒乓球
- Java实现 洛谷 多项式输出
- Java实现洛谷 P1007独木桥
- Java实现洛谷 P1616 疯狂的采药
- Java实现蓝桥杯 算法提高 线段和点
- JAVA学习第十九课(java程序的异常处理 (二))