結果

問題 No.473 和と積の和
ユーザー ciel
提出日時 2016-12-24 15:01:57
言語 Ruby
(3.4.1)
結果
AC  
実行時間 2,445 ms / 3,000 ms
コード長 309 bytes
コンパイル時間 287 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 24,704 KB
最終ジャッジ日時 2024-12-16 03:34:30
合計ジャッジ時間 20,431 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 43
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

require'prime'
n,x=gets.split.map &:to_i
a=(x+1).prime_division.map{|k,v|(0..v).map{|i|k**i}}
b=a.shift.product(*a).map{|e|e.reduce :*}.sort[1..-1].reverse
m={}
f=->x,n,d,a{
return 1 if x==1&&n==0
return 0 if x==1||n==0
m[[x,n,d]]||=(d...a.size).reduce(0){|r,i|x%a[i]>0?r:r+f[x/a[i],n-1,i,a]}
}
p f[x+1,n,0,b]
0