如何使用Perl计算整数?

joe*_*joe -5 perl integer factors

我想将分裂整数分解为它们的因素.例如,如果记录总数为:

169 - ( 13 x 13 times) 
146 - ( 73 x 2 times) 
150 - ( 50 x 3 times)
175 - ( 25 x 7 times)
168 - ( 84 x 2 ) 
160 - ( 80 x 2 times) 
Run Code Online (Sandbox Code Playgroud)

当它超过10k时 - 我想要1000上的所有东西当它超过10万时 - 我希望一切都在10k上

通过这种方式,我想要计算数字.怎么做到这一点?是否有任何Perl模块可用于这些类型的操作?

假设记录总数为10k.它应该分开1000x10倍; 不是100或10.

我可以使用sqrt功能.但这并不总是我所期待的.如果我给出输入146,我必须得到(73,2).

bri*_*foy 5

您可以在Perl中使用与其他语言相同的算法.这些想法中没有任何Perl特殊的魔力.它只是实现,对于类似这个问题的东西,它可能看起来非常类似于任何语言的实现.

你想解决什么问题?如果我们知道你要做什么,也许我们可以指出你正确的算法:

  • 为什么超过10,000的数字必须使用1,000因子?大多数数字不会有1,000个因子.
  • 您想要所有因素,还是最大的因素和伴侣?
  • 你是什​​么意思,sqrt函数不能按预期工作?如果您遵循常用算法,则只需迭代到平方根的底部即可测试因子.大多数整数没有整数平方根.