这是我的认识它有效,但我在acm.timus.ru上得到了错误的答案
import java.io.PrintWriter;
import java.util.Scanner;
public class SqrtBack{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int count = 0;
PrintWriter out = new PrintWriter(System.out);
long[] arr = new long[131072];
while(in.hasNextLong()){
arr[count] = in.nextLong();
count++;
}
for(int i = arr.length-1; i>=0; i--){
System.out.printf("%.4f%n", (Math.sqrt(arr[i])));
}
out.flush();
}
}
Run Code Online (Sandbox Code Playgroud)
您总是打印131072值,即使输入可能更少...将您的循环更改为:
for(int i = count - 1; i >= 0; i--) ...
Run Code Online (Sandbox Code Playgroud)
注意:在执行此类问题时,请务必尝试使用示例数据.在这种情况下,你会直接看到问题..