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

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

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

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

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

fun beer(n: Int, p: Int) = p + p / n
182: 17 [] 2023/12/13(水)15:47 ID:WwinWAeQ(3/3)
>>179
Kotlin
https://paiza.io/projects/1gGtpt6dxb6-vzoATj_Qkg

作り直した。
もっと簡略化できそうな感じもしたがやってない。何か画期的な計算方法やアルゴリズムに気付いたらまた作る。
183: デフォルトの名無しさん [sage] 2023/12/13(水)18:37 ID:8Qa5an+7(1)
>>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 ID:WyfgSj4g(1)
>>179
https://ideone.com/tvmy6F
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)
>>179
R

R <- function(N, P) ((P - 1) * N) %/% (N - 1) + 1
186: 17 [] 2023/12/19(火)15:39 ID:S/sB6wJe(1)
>>179
Kotin
https://paiza.io/projects/yPf1W7SClD8GIOV1WD_5LQ

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

ぬこの手 ぬこTOP 0.050s