fn halves_equal(n: i32) -> bool {
let s = n.to_string();
let len = s.len();
if len % 2 != 0 {
return false; // cannot split evenly
}
let half = len / 2;
let left = &s[..half];
let right = &s[half..];
left == right
}
fn main() {
let test_numbers = [1212, 123123, 45454545, 123, 1213];
for &n in &test_numbers {
println!(
"{} -> {}",
n,
if halves_equal(n) { "equal halves" } else { "not equal" }
);
}
}
/*
run:
1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal
*/