作为一个0基础java班的小白,我每天都会尽可能的让自己多努力一点
这是第十天了,现在已经把开学发的50道题做到了第27题。发现其中有几道题的答案似乎有问题
比如第十三题的题目和答案是这样的:
【程序13】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。 public class Prog13{ public static void main(String[] args){ int n=0; for(int i=0;i<100001;i++){ if(isCompSqrt(i+100) && isCompSqrt(i+268)){ n = i; break; } } System.out.println("所求的数是:"+n); } //判断完全平方数 private static boolean isCompSqrt(int n){ boolean isComp = false; for(int i=1;i<Math.sqrt(n)+1;i++){ if(n==Math.pow(i,2)){ isComp = true; break; } } return isComp; } } |
我自己做的是把i从-100取起,因为按照题目要求,只要这个数+100为正数就行了。
因此多得出了一个结果,也就是-99。我还是觉得这样的逻辑要缜密一些。
|