結果
| 問題 |
No.6 使いものにならないハッシュ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-07-17 12:05:09 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,275 bytes |
| コンパイル時間 | 94 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 21,760 KB |
| 最終ジャッジ日時 | 2024-11-28 00:43:43 |
| 合計ジャッジ時間 | 163,095 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 6 TLE * 26 |
ソースコード
def make_prime(f, t):
prime_list = []
for i in range(f, t + 1):
if i == 1:
continue
if i == 2:
prime_list.append(2)
continue
isPrime = True
for j in range(2, (i // 2) + 1):
if i % j == 0:
isPrime = False
break
if isPrime:
prime_list.append(i)
return prime_list;
def calc(p):
sum = 0
while p > 0:
sum += p % 10
p = p // 10
if sum >= 10:
sum = calc(sum)
return sum
K = int(input())
N = int(input())
prime_list = make_prime(K, N)
#print(prime_list)
calc_result = []
for p in prime_list:
calc_result.append(calc(p))
#print(calc_result)
hash_list = []
for i in range(len(calc_result)):
temp = [calc_result[i]]
length = 1
s_idx = i
for j in range(i + 1, len(calc_result)):
if calc_result[j] in temp:
break
else:
length += 1
temp.append(calc_result[j])
hash_list.append([s_idx, length])
#print(hash_list)
max_sum = 0
max_idx = 0
for hash_item in hash_list:
if hash_item[1] >= max_sum:
max_sum = hash_item[1]
max_idx = hash_item[0]
print(prime_list[max_idx])