我试图计算一个整数的平方根的最简单形式。我的Java知识是相当有限的,但我知道许多基础知识等等。我不知道如何找到一个最简单的形式平方根,如果输入一个数字取平方根。
例:用户输入150,我以最简单的形式(5√6)取其平方根。
快速注意:我还没有从技术上了解数组和数组列表,所以我不能将它们用于代码。
发布于 2022-02-24 22:10:13
只需把你能做的所有完美的正方形分开。理想情况下,您可以使用预先计算的素数表遍历这些素数。剩余数是不完全正方形的部分:
int num = 2*3*3*5*7*7*7*7*11; // 9; // 16; // 150; // input
int root = 1;
for (int d = 2; d*d <= num; )
if ((num % (d*d)) == 0) { // d^2 divides num
root *= d;
num /= d*d;
} else {
d++;
}
System.out.println( root + " * sqrt(" + num + ")");编辑:感谢马克·迪肯森的评论。
https://stackoverflow.com/questions/71257516
复制相似问题