所以我在 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()}}}')