AKS test for primes: Difference between revisions

Content added Content deleted
(Ada version)
Line 3,820: Line 3,820:


=={{header|Rust}}==
=={{header|Rust}}==
<lang rust>use std::iter::repeat;
<lang rust>fn aks_coefficients(k: usize) -> Vec<i64> {
let mut coefficients = vec![0i64; k + 1];

fn aks_coefficients(k: usize) -> Vec<i64> {
let mut coefficients = repeat(0i64).take(k + 1).collect::<Vec<_>>();
coefficients[0] = 1;
coefficients[0] = 1;
for i in 1..(k + 1) {
for i in 1..(k + 1) {
Line 3,840: Line 3,838:
} else {
} else {
let c = aks_coefficients(p);
let c = aks_coefficients(p);
(1 .. (c.len() - 1) / 2 + 1).all(|i| (c[i] % (p as i64)) == 0)
(1..p / 2 + 1).all(|i| c[i] % p as i64 == 0)
}
}
}
}
Line 3,848: Line 3,846:
println!("{}: {:?}", i, aks_coefficients(i));
println!("{}: {:?}", i, aks_coefficients(i));
}
}
for i in (1..51).filter(|&i| is_prime(i)) {
for i in (1..=50).filter(|&i| is_prime(i)) {
print!("{} ", i);
print!("{} ", i);
}
}