プログラミングのお題スレ Part22 (858レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
179
(6): デフォルトの名無しさん [] 2023/12/13(水) 09:27:48.18 ID:NbIWTS6w(1) AAS
お題
ビールの空きビンをN本集めると新品のビール1本と交換してもらえる

あなたが新品のビールをP本持っている

そのとき、あなたが飲めるビールはR本である

N, Pを引数としてRを返す関数を定義してください
180
(1): 17 [] 2023/12/13(水) 15:17:15.28 ID:WwinWAeQ(1/3) AAS
>>179
Kotlin または Kotlin script

fun beer(n: Int, p: Int) = p + p / n
182: 17 [] 2023/12/13(水) 15:47:32.26 ID:WwinWAeQ(3/3) AAS
>>179
Kotlin
外部リンク:paiza.io

作り直した。
もっと簡略化できそうな感じもしたがやってない。何か画期的な計算方法やアルゴリズムに気付いたらまた作る。
183: デフォルトの名無しさん [sage] 2023/12/13(水) 18:37:32.11 ID:8Qa5an+7(1) AAS
>>179 Ruby
def solution( n, m )
b = r = n
while (k = b.div( m )) != 0
b += k - k * m
r += k
end
r
end

solution( 5, 3 ) #=> 7
184: デフォルトの名無しさん [sage] 2023/12/14(木) 00:01:58.90 ID:WyfgSj4g(1) AAS
>>179
外部リンク:ideone.com
let f n p =
let rec aux r p q =
if p = 0 then r else aux (r + p) ((p + q) / n) ((p + q) mod n)
in aux 0 p 0
let () = print_int @@ f 3 5

7
185: デフォルトの名無しさん [] 2023/12/14(木) 00:03:09.36 ID:uNhVrYF2(1) AAS
>>179
R

R <- function(N, P) ((P - 1) * N) %/% (N - 1) + 1
186: 17 [] 2023/12/19(火) 15:39:00.18 ID:S/sB6wJe(1) AAS
>>179
Kotin
外部リンク:paiza.io

再帰にすればとても簡単だったことに、さっき気付いた。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.056s