complete 1676.py 2981.py 3036.py
This commit is contained in:
@@ -1,9 +0,0 @@
|
|||||||
N = int(input())
|
|
||||||
I = sorted([int(input())for i in range(N)])
|
|
||||||
p = min([(j-i) for i, j in zip(I, I[1:])])
|
|
||||||
print(p)
|
|
||||||
T = [t for t in range(1, int(p**(1/2))+1) if p % t == 0]
|
|
||||||
if T[-1] == p // T[-1]:
|
|
||||||
print(" ".join([str(t) for t in T[1:-1]] + [str(p // t) for t in T[::-1]]))
|
|
||||||
else:
|
|
||||||
print(" ".join([str(t) for t in T[1:]] + [str(p // t) for t in T[::-1]]))
|
|
||||||
20
zeta_python/completed/1676.py
Normal file
20
zeta_python/completed/1676.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
def solve(N):
|
||||||
|
if N == 0 or N == 1:
|
||||||
|
return 0
|
||||||
|
count2 = 0
|
||||||
|
count5 = 0
|
||||||
|
|
||||||
|
for i in range(2, N + 1):
|
||||||
|
while i % 2 == 0 or i % 5 == 0:
|
||||||
|
if i % 2 == 0:
|
||||||
|
i //= 2
|
||||||
|
count2 += 1
|
||||||
|
elif i % 5 == 0:
|
||||||
|
i //= 5
|
||||||
|
count5 += 1
|
||||||
|
|
||||||
|
return min((count2, count5))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(solve(int(input())))
|
||||||
16
zeta_python/completed/1676_shortcut.py
Normal file
16
zeta_python/completed/1676_shortcut.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
def solve(N):
|
||||||
|
if N == 0 or N == 1:
|
||||||
|
return 0
|
||||||
|
count5 = 0
|
||||||
|
|
||||||
|
for i in range(5, N + 1, 5):
|
||||||
|
while i % 5 == 0:
|
||||||
|
if i % 5 == 0:
|
||||||
|
i //= 5
|
||||||
|
count5 += 1
|
||||||
|
|
||||||
|
return count5
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(solve(int(input())))
|
||||||
32
zeta_python/completed/2981.py
Normal file
32
zeta_python/completed/2981.py
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
def divisor(x):
|
||||||
|
divs = []
|
||||||
|
for i in range(1, int(x ** (1 / 2)) + 1):
|
||||||
|
if x % i == 0:
|
||||||
|
divs.append(i)
|
||||||
|
for d in divs[::-1]:
|
||||||
|
t = x // d
|
||||||
|
if d == t:
|
||||||
|
continue
|
||||||
|
divs.append(x // d)
|
||||||
|
return divs
|
||||||
|
|
||||||
|
|
||||||
|
def gcd(x1, x2):
|
||||||
|
while x2 != 0:
|
||||||
|
temp = x1 % x2
|
||||||
|
x1 = x2
|
||||||
|
x2 = temp
|
||||||
|
return x1
|
||||||
|
|
||||||
|
|
||||||
|
def solve(N, M):
|
||||||
|
M.sort()
|
||||||
|
last_night = M[1] - M[0]
|
||||||
|
for i in range(1, N - 1):
|
||||||
|
last_night = gcd(last_night, M[i + 1] - M[i])
|
||||||
|
return " ".join(map(str, divisor(last_night)[1:]))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
n = int(input())
|
||||||
|
print(solve(n, list(map(int, (input() for i in range(n))))))
|
||||||
24
zeta_python/completed/3036.py
Normal file
24
zeta_python/completed/3036.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
def fraction_ize(p, q):
|
||||||
|
while True:
|
||||||
|
# one process
|
||||||
|
for i in range(2, int(max((p, q)) ** (1 / 2)) + 1):
|
||||||
|
if q % i == 0:
|
||||||
|
if p % i == 0:
|
||||||
|
q //= i
|
||||||
|
p //= i
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
return p, q
|
||||||
|
|
||||||
|
|
||||||
|
def solve(N, M):
|
||||||
|
chains = M[0]
|
||||||
|
T = []
|
||||||
|
for i in range(1, N):
|
||||||
|
T.append(fraction_ize(chains, M[i]))
|
||||||
|
return "\n".join(f"{p}/{q}" for p, q in T)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(solve(int(input()), list(map(int, input().split()))))
|
||||||
Reference in New Issue
Block a user