当前位置:
首页 >
Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
发布时间:2024/8/1
51
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
例如,4、9以及16都是平方数,找到一种有效方法,使程序能快速运行
- 题目
- 破题
- 特别提醒
- 代码
题目
*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数。例如,4、9以及16都是平方数,找到一种有效方法,使程序能快速运行
破题
将Long.MAX_VALUE赋值给BigDecimal对象
然后不断增加这个对象值
每次增加都要判断是否是一个平方数
如果是的话则输出并计数
直到数字==10
特别提醒
下面的代码我自认为正确,但是死活运行不出来
代码
import java.math.BigDecimal;public class Test17 {public static void main(String[] args) {BigDecimal bd = new BigDecimal(Long.MAX_VALUE);int count = 0;while (count < 10){bd = bd.add(BigDecimal.ONE);if (isMultipleNumber(bd)){System.out.println(bd);count++;}}}public static boolean isMultipleNumber(BigDecimal bd){BigDecimal temp1 = new BigDecimal("1e+10");BigDecimal result;for (BigDecimal temp = new BigDecimal("3e+9"); !temp.equals(temp1) ; temp = temp.add(BigDecimal.ONE)){result = temp.multiply(temp);if (result.equals(bd)){return true;}}return false;} }总结
以上是生活随笔为你收集整理的Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java黑皮书课后题第10章:*10.1
- 下一篇: Java黑皮书课后题第10章:*10.1