結果

問題 No.294 SuperFizzBuzz
ユーザー mkawa2
提出日時 2020-02-06 11:27:11
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 818 bytes
コンパイル時間 181 ms
コンパイル使用メモリ 82,360 KB
実行使用メモリ 82,368 KB
最終ジャッジ日時 2024-09-25 06:22:11
合計ジャッジ時間 6,970 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2 TLE * 1
other -- * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

sys.setrecursionlimit(10 ** 6)

def II(): return int(sys.stdin.readline())



def main():
    fac=[1]
    for i in range(1,30):fac.append(fac[-1]*i)
    def nCr(n,r):
        if n<r:return 0
        return fac[n]//fac[r]//fac[n-r]

    def num(k):
        res=0
        for c5 in range(2,k,3):
            res+=nCr(k-1,c5)
        return res

    n=II()
    inf=10**9
    cnt=0
    for k in range(inf):
        tmp=num(k)
        if cnt+tmp>=n:break
        cnt+=tmp
    k-=1
    print(k)
    for bit in range(1<<k):
        if bin(bit).count("1")%3==2:
            cnt+=1
            #print(bin(bit)[2:].zfill(k))
        if cnt==n:
            ans=""
            for i in range(k):
                ans+="5" if bit>>k-1-i&1 else "3"
            ans+="5"
            print(ans)
            exit()


main()
0