3.1w+
社区成员
import java.util.Scanner;
public class 零的个数 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long num = sc.nextLong();
int ans = 0;
while(num != 0){
long m = num % 10;
if (m == 0)ans++;
else break;
num /= 10;
}
System.out.println(ans);
}
}
这里取100000000进行循环判断,至于为什么能保证超级质数能不大于他,俺也不知
package lanqiaobei.exe.day12;
public class 超级质数 {
public static void main(String[] args) {
for(int i = 100000000;; i--){
if(check(i)){
System.out.println(i);
break;
}
}
}
static boolean check(int num){
String s = num + "";
for(int i = 0; i < s.length();i ++){
for (int j = i; j < s.length(); j ++){
int tmp = Integer.parseInt(s.substring(i,j+1));
if (!isPrime(tmp))return false;
}
}
return true;
}
//判断是否是质数
static boolean isPrime(int num){
if(num == 1)return false;
for(int i = 2; i <= num / i; i ++){
if(num % i == 0)return false;
}
return true;
}
}
import java.io.*;
import java.util.*;
public class 卡牌 {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter pr = new PrintWriter(new OutputStreamWriter(System.out));
static long n,m;
static int N = 200010;
static long[] a = new long[N];
static long[] b = new long[N];
public static void main(String[] args) throws IOException {
String[] s = br.readLine().trim().split(" ");
n = Long.parseLong(s[0]);
m = Long.parseLong(s[1]);
s = br.readLine().trim().split(" ");
//可能凑出的最大牌
int target = Integer.MAX_VALUE;
for (int i =0; i < n; i ++){
a[i] = Long.parseLong(s[i]);
}
s = br.readLine().trim().split(" ");
for (int i =0; i < n; i ++){
b[i] = Long.parseLong(s[i]);
target =(int)Math.min(a[i] + b[i],target);
}
int l = 1,r = target;
while(l < r){
int mid = l + r + 1>> 1;
if(check(l,r,mid))l = mid;
else r = mid - 1;
}
pr.println(r);
pr.flush();
}
static boolean check(int l,int r,int mid){
long sum = 0;
for(int i = 0;i < n; i++){
long v = mid - a[i];
if(v > 0){
sum += v;
if(sum > m)return false;
continue;
} else if(v > b[i]) return false;
}
return true;
}
}