rem_euclid в стд есть
((x as i64 + y as i64) % m as i64) as u32 Вроде бы правда
ну это из предположения, что у нас есть число размером больше
pub fn mas(x: u32, y: i32, m: u32) -> u32 { let (lo, hi) = x.overflowing_add_signed(y); let lomm = lo % m; match hi { false => lomm, true => { let himm = m.wrapping_neg() % m; let (lo, hi) = lomm.overflowing_add(himm); lo - if hi || lo >= m { m } else { 0 } } } } Вроде бы правда
Обсуждают сегодня