chall
unknown
python
2 years ago
1.2 kB
8
Indexable
from hashlib import sha512
def acid(s):
return sha512(s.encode('utf-8')).hexdigest()
def ___(n, k):
a = 0
for _ in range(1, k+1):
j = 0
while(n>=(1<<j)):
a += n&(1<<j)
j += 1
return a
def rock(a, n):
if n == 0:
return 1
return a*rock(___(a, a),n>>1) if(n&1==1) else rock(___(a, a),n>>1)
def paper(n):
x = rock(n, n)
return {i: [(1<<i>>i)-1, 1<<i, (1<<i)<<1, ((1<<i)<<1)+(1<<i)] for i in range(x)}
def scissors(n, a, x):
if n == 0:
return [0]*x
ls = [int(n%a)] + [int(n%a) for _ in range(n) if (n := n // a)]
ls += [0]*(x-len(ls))
return ls
def go(n):
final, lib, x = 0, paper(n), rock(n, n)
for i in range(1<<(x<<1)):
ls = scissors(i, 4, x)
tot = sum( [lib[j][ls[j]] for j in range(x)] )
final += int(tot == n)
return final
HASH = "87bd6b7109f0e4fddc549076c983ef165191a655d0e53848e18ea55574b8344456478b6e7b19fa26ecc3ddf017b29d1b63da94c7002a508429e156b9ccfed611"
number = int(input("Enter your number: "))
print(go(number))
if (acid(str(number)) != HASH):
print("Incorrect number! SHA hashes do not match")
else:
print("Congratulations! That is the correct number!")Editor is loading...
Leave a Comment