Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn d(n: i32) -> i32 {
- (2..(n / 2 + 1)).
- filter(|m| n % m == 0).
- fold(1, |result, i| result + i)
- }
- fn amicable(n: i32) -> i32 {
- let dn = d(n);
- let ddn = d(dn);
- if ddn == n && n != dn && n < 100_000 {
- n
- } else {
- 0
- }
- }
- fn main() {
- let mut result = 0;
- for i in 1 .. 10_000 {
- result += amicable(i);
- }
- println!("{}", result);
- }
Advertisement
Add Comment
Please, Sign In to add comment