【攒人品】携程 3.29 笔试前三题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
char[] ss = s.toCharArray();
int count = 0;
for (int i = 0; i < ss.length; i++) {
if(ss[i] == '0' || ss[i] == '6' || ss[i] == '9'){
count ++;
}
else if(ss[i] == '8'){
count += 2;
}
}
System.out.println(count);
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
List<Integer> list = new ArrayList<>();
int y = n;
for (int i = 0; i < k; i ++) {
list.add(y - k + i + 1);
}
if (list.size() < n){
for (int i = 0; i < n - k; i++) {
if(2 * i + 1 <= list.size()){
list.add(2 * i + 1, i + 1);
} else {
list.add(i + 1);
}
}
}
for (int i = 0; i < n; i++) {
System.out.print(list.get(i)+" ");
}
}
}
import java.util.Scanner;
public class Main3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long n = scanner.nextLong();
long y = 0, min = n;
long x_1 = 2, x = 2;
long min_x = 1, min_y=1;
while(x_1 <= 10000000000L){
if (x != 2){
y = n / (x_1 - 1);
for (long i = y - 1; i <= y + 1; i++) {
if(i != 2 && i > 0){
long abs = Math.abs(n-(x_1-1)*i);
if(min > abs){
min = abs;
min_x = x;
min_y = i;
}
}
}
}
x_1 = x_1 * (++x);
}
System.out.println(min_x+" "+min_y);
}
}
方法要是太笨的话,大家轻点喷,另求一道AC的第四题解答(感动)
#携程#
查看38道真题和解析