自然数的平方根?

路人
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您将找到i平方数最大的数nn例如,如果为质数(例如n = 5、17等),则仅当满足条件时,才可以满足该条件i=1,因此您将需要1花费很多时间才能得出结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章