https://atcoder.jp/contests/abc251/tasks/abc251_a
Pythonではこんな感じです。
def F(S): return S * (6 / len(S))
Rustでは掛け算みたいなのはないようで、ここでは単純に足し算のような書き方をします。nが大きければ分割統治法が必要ですが。
fn times(s: &String, n: usize) -> String { let mut s1 = s.clone(); for _ in 1..n { s1 += s; } return s1; }
割り算の部分は、
let S: String = read(); let num = 6usize / S.len();
6u32とかだと型が合わなくてエラーです。
#![allow(non_snake_case)] fn read<T: std::str::FromStr>() -> T { let mut line = String::new(); std::io::stdin().read_line(&mut line).ok(); line.trim().parse().ok().unwrap() } fn read_vec<T: std::str::FromStr>() -> Vec<T> { read::<String>().split_whitespace() .map(|e| e.parse().ok().unwrap()).collect() } fn times(s: &String, n: usize) -> String { let mut s1 = s.clone(); for _ in 1..n { s1 += s; } return s1; } fn main() { let S: String = read(); let num = 6usize / S.len(); println!("{}", times(&S, num)); }