我目前正在通过 Euler 项目工作,目前我需要将一个 1000 位数字拆分为一个数组。
我试过这个:
var number = big number here;
var digits = number.toString().split('');
Run Code Online (Sandbox Code Playgroud)
它适用于小数字,但只要输入足够大,数组就会采用科学记数法,例如:
[ '1', '2', '3', '1', '2', '4', 'e', '+', '2', '2' ]
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?
提前致谢!
编辑:欧拉项目中的问题 8 需要(https://projecteuler.net/problem=8)
我目前正在经历欧拉项目.我已经开始使用JavaScript了,昨天我已经切换到Python,因为我陷入了一个似乎很复杂的问题,用Javascript解决但很容易用Python解决,所以我决定从第一个问题开始蟒蛇.
我遇到问题5,它要求我找到最小的正数,它可以被1到20的所有数字整除.
我知道如何使用纸和笔来解决它,我已经使用编程解决了问题,但是为了优化它,我在欧拉项目的论坛中越过了这个解决方案.
它看起来很优雅,与我的相比它速度相当快,很荒谬,因为解决1到1000号的相同问题需要大约2秒钟,我需要几分钟.
我试图理解它,但我仍然很难理解它到底在做什么.这里是:
i = 1
for k in (range(1, 21)):
if i % k > 0:
for j in range(1, 21):
if (i*j) % k == 0:
i *= j
break
print i
Run Code Online (Sandbox Code Playgroud)
它最初由名为lassevk的用户发布