結果
問題 | No.6 使いものにならないハッシュ |
ユーザー |
|
提出日時 | 2014-10-04 02:58:41 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 94 ms / 5,000 ms |
コード長 | 1,110 bytes |
コンパイル時間 | 392 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 8,448 KB |
最終ジャッジ日時 | 2024-09-16 16:21:08 |
合計ジャッジ時間 | 3,289 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
K = int(raw_input()) N = int(raw_input()) def foldnum(n): if n == 0: return 0 if n % 9 == 0: return 9 return n % 9 def eratos(n): list = xrange(2, n + 1) ans = [] while len(list): ans.append(list[0]) list = filter(lambda x: x % list[0] > 0, list) return ans def eratos2(n): table = [True] * (n + 1) table[0] = table[1] = False a = 2 while a * a <= n: if table[a]: k = 2 while a * k <= n: table[a * k] = False k += 1 a += 1 ans = [] for i, v in enumerate(table): if v: ans.append(i) return ans prime_map = filter(lambda x: x >= K, eratos2(N)) L = len(prime_map) a = 0 b = 0 mx = 0 total = 0 check = [False] * 10 maxIndex = 0 while a < L: while b < L: v = foldnum(prime_map[b]) if check[v]: break b += 1 check[v] = True if mx <= b - a - 1: mx = b - a - 1 maxIndex = a v = foldnum(prime_map[a]) check[v] = False a += 1 print prime_map[maxIndex]