Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在执行操作时使大输入变小_Python 3.x_Time Complexity - Fatal编程技术网

Python 3.x 在执行操作时使大输入变小

Python 3.x 在执行操作时使大输入变小,python-3.x,time-complexity,Python 3.x,Time Complexity,我想让这个程序在大输入时运行得更快 def count1(i,j,k,n): b = k while n > 0: b = i*b while b > j: b = b - j n = n - 1 return b 所以,在考虑了它之后,使用mod操作出现在脑海中。因此,上面的代码再次被修改 def count1(i,j,k,n): b = k while n >

我想让这个程序在大输入时运行得更快

def count1(i,j,k,n):
    b = k
    while n > 0:
        b = i*b
        while b > j:
            b = b - j
        n = n - 1
    return b
所以,在考虑了它之后,使用mod操作出现在脑海中。因此,上面的代码再次被修改

def count1(i,j,k,n):
    b = k
    while n > 0:
        b = ((i%j)*(b%j))%j
        while b > j:
            b = b - j
        n = n - 1
    return b

所以在做了一些测试之后,这个实现确实更快了,但是还不够快。在对大数字执行这样的操作时,是否有更多的方法使其变小?有没有一种方法可以优化此代码,使其在非常大的输入下快速运行?

使用cython或numba可能是提高原始性能的最佳方法,请看cython教程

我确实看过了,但它并不完全是我想要的。我想更快地实现上面的代码