gpt4 book ai didi

java - 如何从 Java 中的一组数字中找到完全平方数?

转载 作者:行者123 更新时间:2023-12-02 09:29:43 24 4
gpt4 key购买 nike

所以我试图找出一组数字中的完美平方。我声明了必要的变量,添加了 for 循环,添加了 sqroot = Math.sqrt(num) 和打印方法来列出数字。我不明白的是如何让程序在数字范围内挑选出完美的正方形,并找到它们的平均值?

这是我正在为一个类做的一项作业,我已经在这上面坚持了一段时间了。我对 Java 也很陌生,如果这是一个愚蠢的问题,我很抱歉。代码如下:


public class Test {

public static void main(String[] args) {
int num;
double sqroot = 0;
int sumPsq = 0; //sum variable
int psq = 0; //counter for perfect squares
double avg = 0;

for(num = 101; num <= 149; num += 2){
sqroot = Math.sqrt(num);

if(sqroot*sqroot == num){ //Condition to find perfect squares
psq += 1; //counting perfect squares
sumPsq = sumPsq + num; //Find the sum of all the perfect squares

System.out.println(num); //Print out the perfect squares
}
}
avg = 1.0 * sumPsq/psq;
System.out.println(avg);
}

}

这只是整个作业中的一部分代码,因此如果您需要更多代码,那么我非常愿意提供。谢谢!

最佳答案

完美平方是可以表示为两个相等整数的乘积的数字,因此它的 sqrt 后面必须是 int。如果您执行 sqroot*sqroot == num 您只是在检查 sqrt 是否正常工作。某些号码无法通过检查,因为 this但通常情况下,你会得到比你想要的更多的数字。

所以你需要做的只是检查 sqrt 之后的结果是否是一个 int:

if (sqrootd % 1 == 0) { ... }

您可以做的优化是检查 sqrt 之前的数字是否为整数。除此之外,你的代码对我来说看起来不错

关于java - 如何从 Java 中的一组数字中找到完全平方数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58086705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com