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
平方数最大的数n
。n
例如,如果为质数(例如n = 5、17等),则仅当满足条件时,才可以满足该条件i=1
,因此您将需要1
花费很多时间才能得出结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句