0

所以我在 python 中有这段代码,但它不会运行,因为数字太大,python 无法处理,我发现 Cobra 这样的东西运行得更快,几乎和 C++ 一样,可以处理这样的任务。我已经尝试自己重写代码,但我不断收到编译错误,我正在在线编译器tio.run上编译

这是原始代码:

def fib(n):
    a = 0
    b = 1
    for _ in range(n):
        a, b = b, a + b
    return a


def power(x, e, n):
    return pow(x, e) % n


def get_hash_sum():
    n = power(power(13371337, 0xdeadbeeffeeddeef, 0xffffffffffffffff), 0xcafecafeabcd, 0xfffffff)
    res = 0
    while n > 0:
        res += fib(n)
        n = n // 2 if n % 2 == 0 else (n - 1) // 2

    return res & 0xffffffffffffffff


def main():
    print(f'Flag is Course{{{get_hash_sum()}}}')


if __name__ == '__main__':
    main()

这是我根据我对互联网上 python 和 cobra 之间差异的研究,尝试重写它所取得的成果,这非常糟糕。

class Fibb
    def fib(n)
        a = 0
        b = 1
        for _ in range(n)
            a, b = b, a + b
        return a

class Pow
    def power(x, e, n)
    return pow(x, e) % n

class Hash
    def get_hash_sum()
        n = Pow.power(Pow.power(13371337, 0xdeadbeeffeeddeef, 0xffffffffffffffff), 0xcafecafeabcd, 0xfffffff)
        res = 0
        while n > 0
            res += Fibb.fib(n)
        n = n // 2 if n % 2 == 0 else (n - 1) // 2
        return res & 0xffffffffffffffff

class Program
    def main
    print(f'Flag is Course{{{Hash.get_hash_sum()}}}')
4

0 回答 0