JAVA 笔试输入用例
因为习惯了力扣的刷题模式,在刚刚接触互联网笔试的时候,被输入的控制搞得很头痛,尤其是说明有多个测试用例的时候,很容易只控制了单个测试用例,导致本来算法思路没问题,最后无法AC。两道例题,给自己做一个笔记。忽略题解,就输入控制可以参考。
题目1
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
int m = cin.nextInt();
int n = cin.nextInt();
double res = getResult(m,n);
System.out.println(String.format("%.2f",res));
}
}
public static double getResult(int m,int n){
double res = m;
double pre = m;
for(int i=1;i<n;i++){
pre = Math.sqrt(pre);
res +=pre;
}
if(n==0) res=0;
return res;
}
}
题目2
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNext()){
int m = cin.nextInt();
int n = cin.nextInt();
if(m>n) System.out.println("no\n");
StringBuilder str = new StringBuilder();
for(int i=m;i<=n;i++){
int sum = 0;
int t = i;
while (t!=0){
int te = t%10;
sum +=(int)Math.pow(te,3);
t /=10;
}
if(sum==i) str.append(i + " ");
}
if(str.length()==0) System.out.println("no");
else{
String res = str.toString();
System.out.println(res);
}
}
}
}
说明
- 两道练习题都是100%AC
- 建议输入输出放在main函数中,核心逻辑重新写一个函数,结构会更加清晰。