結果
| 問題 |
No.144 エラトステネスのざる
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-09-01 16:39:37 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,150 ms / 2,000 ms |
| コード長 | 465 bytes |
| コンパイル時間 | 243 ms |
| コンパイル使用メモリ | 8,192 KB |
| 実行使用メモリ | 20,992 KB |
| 最終ジャッジ日時 | 2025-01-03 06:40:48 |
| 合計ジャッジ時間 | 10,210 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
#!/usr/local/bin/ruby
class EratosthenesLikeSieve
def initialize(*arg)
@n,@k = arg
end
def ans
r = 0
sigma = Array.new(@n+1,0)
pb = 1-@k
i=2
while i <= @n
last = @n/i
j=2
while j<=last
sigma[j*i]+=1
j+=1
end
r += pb**sigma[i]
i+=1
end
r
end
end
### END: class EratosthenesLikeSieve
iod = STDIN
n,k = iod.gets.split
puts EratosthenesLikeSieve.new(n.to_i,k.to_f).ans
exit 0