21/08/10 15:05:08.24 QyXjq7Ed.net
みんなありがとう、なんとなく再帰できたよ。やり方あってるかわからんけども
以下お試しプログラム
URLリンク(paiza.jp)
use std::*;
fn main() {
let mut str = String::new();
io::stdin().read_line(&mut str).unwrap();
let mut nums0: Vec<i32> = str.trim().split(" ").map(|it| it.parse().unwrap()).collect();
let mut test = Test { nums: nums0 };
println!("{}", test.calc(0));
}
pub struct Test {
nums: Vec<i32>,
}
impl Test {
pub fn calc(&mut self, id: i32) -> i32 {
if id == self.nums[0] { return 1; }
let mut res0: i32 = 0;
for i in 1..=3 {
if id + self.nums[i] <= self.nums[0] {
res0 += self.calc(id + self.nums[i as usize]);
}
}
return res0;
}
}