自然数的平方根
Square root of natural numbers?
example
root of 1 as 1*sqrt{1}
root of 2 as 1*sqrt{2}
root of 3 as 1*sqrt{3}
root of 9 as 3*sqrt{1}
我试图找到如下所示的算法:
for(i=sqrt(n);i>=1;i--)
if(n%(i*i)==0) {
break;
}
cout<<i<<' '<<n/(i*i)<<endl;
但是当n是大数时就不好了
那么你能告诉我这个问题的算法吗?非常感谢!
你期望你的代码做什么?对于给定的n
,您将找到平方除以n
的最大数i
。例如,如果n
是素数(例如 n=5、17 等(,则只有在 i=1
的情况下才能满足此条件,因此您将在很多时候1
得到结果。
这个问题没有解释完美/不完全正方形。由于平方根可以是浮点数/双精度数,因此迭代方法是查找根的更精确方法。
此链接可能会有所帮助: https://math.stackexchange.com/questions/296102/fastest-square-root-algorithm
相关文章:
- 平方根内禀反比
- 简单的平方根
- 是否有一个C++函数可以准确返回平方根反比的内置 CPU 操作 RSQRTSS 的值?
- 试图找到一个数字的平方根,但代码不起作用。C++
- 使用二分法查找数的平方根时出现问题
- 找到等于实数分数的自然数分数
- 如何使用C 获取周期十进加点号的平方根
- C 平方根 /巴比伦法
- 这种浮点平方根近似是如何工作的
- 使用位移算法计算平方根始终输出相同的数字
- 自然数除数的颜色
- C 查找无SQRT函数循环故障的平方根
- 如何获取数组中每个数字的平方根 (C++)
- 为什么我不能在犰狳中得到这个对称正定矩阵的平方根?
- 平方根代码C 无SQRT()
- 编程手动平方根函数
- 如何在C 中找到具有20位精度的平方根
- 确定平方根是否是整数
- 歧义平方根
- 自然数的平方根