fn to_base(mut num: u32, base: u32) -> String {
assert!(base >= 2 && base <= 36, "Base must be between 2 and 36");
let mut result = String::new();
let digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
while num > 0 {
let remainder = (num % base) as usize;
result.push(digits.chars().nth(remainder).unwrap());
num /= base;
}
result.chars().rev().collect()
}
fn main() {
let number = 255;
let base = 16;
let result = to_base(number, base);
println!("Number {} in base {} = {}", number, base, result);
}
/*
run:
Number 255 in base 16 = FF
*/