結果
問題 | No.316 もっと刺激的なFizzBuzzをください |
ユーザー |
|
提出日時 | 2015-12-09 07:33:48 |
言語 | Ruby (3.4.1) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 2,429 bytes |
コンパイル時間 | 170 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-11-17 05:52:52 |
合計ジャッジ時間 | 4,752 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 WA * 1 |
コンパイルメッセージ
Syntax OK
ソースコード
#! ruby# yukicoder My Practice# author: Leonardone @ NEETSDKASUdef gi(); gets.to_i; enddef gis(); gets.chomp.split.map(&:to_i); end=begin1~Nまでの間にはaの倍数が n/a 個bの倍数が n/b 個cの倍数が n/c 個a*bの倍数が n/(a*b)個b*cの倍数が n/(b*c)個c*aの倍数が n/(c*a)個a*b*cの倍数が n/(a*b*c)個和集合とかいうやつで集合の足し算引き算で求める感じ?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 302 * * * * * * * * * * * * * *3 * * * * * * * * * *5 * * * * * *6 @ @ @ @ @10 @ @ @15 @ @30 #最小公倍数なケースがあるんよ30 42 60 70 84 90 120 126 140 210 280a = 6 * * * * * * *b = 10 * * * * * * * *c = 14 * * * * * * *ab= 60 @ @bc= 140 @ @ca 84 @=endn = gia, b, c = gis.sortif a == 1puts nexitendif n < aputs '0'exitenda_cnt = n.div(a).floorb_cnt = n.div(b).floorc_cnt = n.div(c).floorab_cnt = n.div(a.lcm(b)).floorbc_cnt = n.div(b.lcm(c)).floorca_cnt = n.div(c.lcm(a)).floorabc_cnt = n.div(a.lcm(b.lcm(c))).flooranswer =if b % a == 0 && c % a == 0a_cntelsif c % b == 0 || c % a == 0a_cnt + b_cnt - ab_cntelsif b % a == 0a_cnt + c_cnt - bc_cntelsea_cnt + b_cnt + c_cnt - (ab_cnt + bc_cnt + ca_cnt) + abc_cntendputs answer=begin$stdout = STDERRp np [a, b, c, a * b, b * c, c * a, a * b * c]p [a_cnt, b_cnt, c_cnt, ab_cnt, bc_cnt, ca_cnt, abc_cnt]p a_cnt + b_cnt + c_cnt=end# 素直に解く=begincnt = 01.upto(n) do |i|cnt += 1 if i % a == 0 || i % b == 0 || i % c == 0endp cnt=end