# 3ページ下のプログラム # これをSpyderにコピーしなさい。 # ↓ここから import time import random def f(N): return N N = int(input()) t1 = time.perf_counter() print(f(N)) t2 = time.perf_counter() print("{:10.6f}".format(t2 - t1)) # ↑ここまで # 例1 # ↓ここから def f(N): count = 0 for i in range(N): count += 1 return count # ↑ここまで # 例2 # ↓ここから def f(N): count = 0 for i in range(N): for j in range(N): count += 1 return count # ↑ここまで # 例3 # ↓ここから def f(N): count = 0 for i in range(N): for j in range(N): for k in range(N): count += 1 return count # ↑ここまで # 素数:例1 # ↓ここから def f(N): if N == 1: return 0 for i in range(2, N): if N % i == 0: return 0 return 1 # ↑ここまで # 素数:例2 # ↓ここから def f(N): if N == 1: return 0 i = 2 while i * i <=N: if N % i == 0: return 0 i += 1 return 1 # ↑ここまで # 数当てゲーム:例1 # ↓ここから def f(N): count = 0 for i in range(100): x = random.randint(1, N) count += 1 while x != random.randint(1, N): count += 1 return count # ↑ここまで # 数当てゲーム:例2 # ↓ここから def f(N): count = 0 for i in range(100): x = random.randint(1, N) a = 1 count += 1 while a != x: a += 1 count += 1 return count # ↑ここまで # 数当てゲーム:例3 # ↓ここから def f(N): count = 0 for i in range(100): x = random.randint(1, N) a = 1 b = N while a != b: c = (a + b) // 2 count += 1 if x <= c: b = c else: a = c + 1 return count # ↑ここまで # フィボナッチ数列:例1 # ↓ここから def f(N): if N < 2: return 1 else: return f(N - 1) + f(N - 2) # ↑ここまで # フィボナッチ数列:例2 # ↓ここから def f(N): if N < 2: return 1 else: a = b = 1 for i in range(N - 1): a, b = a + b, a return a # ↑ここまで # フィボナッチ数列:例3 # ↓ここから def f(N): if N not in f.memo: f.memo[N] = f(N - 1) + f(N - 2) return f.memo[N] f.memo = {0:1, 1:1} # ↑ここまで