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

179
(6): 2023/12/13(水)09:27 ID:NbIWTS6w(1) AAS
お題
ビールの空きビンをN本集めると新品のビール1本と交換してもらえる

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

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

N, Pを引数としてRを返す関数を定義してください
180
(1): 17 2023/12/13(水)15:17 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 ID:WwinWAeQ(3/3) AAS
>>179
Kotlin
外部リンク:paiza.io

作り直した。
もっと簡略化できそうな感じもしたがやってない。何か画期的な計算方法やアルゴリズムに気付いたらまた作る。
183: 2023/12/13(水)18:37 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: 2023/12/14(木)00:01 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 ID:uNhVrYF2(1) AAS
>>179
R

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

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

ぬこの手 ぬこTOP 1.318s*