結果
問題 |
No.294 SuperFizzBuzz
|
ユーザー |
![]() |
提出日時 | 2015-10-25 15:45:04 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,229 bytes |
コンパイル時間 | 330 ms |
コンパイル使用メモリ | 82,392 KB |
実行使用メモリ | 83,276 KB |
最終ジャッジ日時 | 2024-09-13 08:46:11 |
合計ジャッジ時間 | 6,910 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 1 TLE * 1 |
other | -- * 12 |
ソースコード
# coding:utf-8 import sys # from itertools import product ume = [0, 0, 0, 1, 3, 6, 11, 21, 42, 85, 171, 342, 683, 1365, 2730, 5461, 10923, 21846, 43691, 87381, 174762, 349525, 699051, 1398102, 2796203, 5592405, 10000001] def popcount(x): return bin(x).count("1") # if N in ume: # print(ume.index(N)) # sys.exit() # else: def solve(): N = int(input()) count = 0 for u in range(len(ume)): if N==ume[u]: i = u+1 count = ume[u-1] break elif N<ume[u]: i = u count = ume[u-1] break # else: # i = 24 # count = ume[-1] # print('i', i, count) for j in range(10000000000000): a = bin(j)[2:] if len(a)>i-1: break a = '0'*(i-1-len(a))+a n = a.replace('0', '3').replace('1', '5') x = ''.join(n) x = int(x) # print(a, a[-1]) if popcount(j)%3==0 and popcount(j)>=3 and a[-1]=='1': # if x%15==0: # print(x,str(x).count('5')) count += 1 # print(x, count) if count==N: print(x) sys.exit() solve()