Function primal::as_perfect_power

source ·
pub fn as_perfect_power(x: u64) -> (u64, u8)
Expand description

Returns integers (y, k) such that x = y^k with k maximised (other than for x = 0, 1, in which case y = x, k = 1).

Examples

assert_eq!(primal::as_perfect_power(2), (2, 1));
assert_eq!(primal::as_perfect_power(4), (2, 2));
assert_eq!(primal::as_perfect_power(8), (2, 3));
assert_eq!(primal::as_perfect_power(1024), (2, 10));

assert_eq!(primal::as_perfect_power(1000), (10, 3));

assert_eq!(primal::as_perfect_power(15), (15, 1));