1 エッヂの名無し 2024/06/23(日) 11:58:12.427 ID:qV3Knf0QW
できたわ
こうか?
@r=3
a = r(x-1) -> r(2)
b = r(x-2) -> r(1)
r(3) = a + b
r(3) = r(2) + r(1)
@r=2
a = r(1)
b = r(0)
r(2) = r(1) + r(0)
r=1
r(1) = 1
r=0
r(0) = 1
@r=3
r(3) = r(1) + r(0) + r(1)
2 エッヂの名無し 2024/06/23(日) 11:58:36.137 ID:qV3Knf0QW
解いてる間に落ちたやんけ
プログラミングやアルゴリズムに強いお兄さんおる?
http://bbs.eddibb.cc/test/read.cgi/liveedge/1719108146/
3 エッヂの名無し 2024/06/23(日) 11:58:44.704 ID:q/d4uikcv
ようやっとる🤗
ちゅーしたろか?🤗
5 エッヂの名無し 2024/06/23(日) 11:59:51.323 ID:fzXNroigB
解けてえらい
6 エッヂの名無し 2024/06/23(日) 12:00:23.359 ID:qV3Knf0QW
おい、ID:piz3bmrsh出てこいや!!!
7 エッヂの名無し 2024/06/23(日) 12:02:09.387 ID:HagL87Xq6
再帰関数使わないで✋🥺
8 エッヂの名無し 2024/06/23(日) 12:02:42.578 ID:qV3Knf0QW
今日一日追尾するぞ
1 名前:エッヂの名無し[] 投稿日:2024/06/23(日) 11:02:26.695 ID:piz3bmrsh [1/6]
この問題の答えがイになる意味が解説読んでもわからんのやが
https://i.imgur.com/kiyQUhS.jpeg
9 エッヂの名無し 2024/06/23(日) 12:03:35.979 ID:KShm0KmsW
再帰2回使う例としてマージソート実装してたら落ちてた
fn merge_sort(abeshinzou: Vec<u32>) -> Vec<u32> {
if abeshinzou.len() <= 1 {
return abeshinzou;
}
// abeshinzouを前半と後半に分割
let (abe, shinzou) = abeshinzou.split_at(abeshinzou.len() / 2);
let abe = abe.to_vec();
let shinzou = shinzou.to_vec();
// abe, shinzouに対して再帰
let abe = merge_sort(abe);
let shinzou = merge_sort(shinzou);
// ここでabeとshinzouをマージする
let mut abeshinzou = Vec::new();
let mut idx_a = 0;
let mut idx_b = 0;
while idx_a < abe.len() || idx_b < shinzou.len() {
let mut is_abe_push = false;
if idx_b == shinzou.len() || (idx_a < abe.len() && abe[idx_a] < shinzou[idx_b]) {
is_abe_push = true;
}
if is_abe_push {
abeshinzou.push(abe[idx_a]);
idx_a += 1;
} else {
abeshinzou.push(shinzou[idx_b]);
idx_b += 1;
}
}
return abeshinzou;
}
fn main() {
let abeshinzou = vec![2, 0, 2, 2, 0, 7, 0, 8];
// let abeshinzou = vec![1, 1, 4, 5, 1, 4];
println!("{:?}", abeshinzou);
let abeshinzou = merge_sort(abeshinzou);
println!("{:?}", abeshinzou);
}
11 エッヂの名無し 2024/06/23(日) 12:05:43.950 ID:S8jKUgxwf
めんどいからアセンブラ選べよ