How to resolve the algorithm Abundant, deficient and perfect number classifications step by step in the Rust programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Abundant, deficient and perfect number classifications step by step in the Rust programming language

Table of Contents

Problem Statement

These define three classifications of positive integers based on their   proper divisors. Let   P(n)   be the sum of the proper divisors of   n   where the proper divisors are all positive divisors of   n   other than   n   itself.

6   has proper divisors of   1,   2,   and   3. 1 + 2 + 3 = 6,   so   6   is classed as a perfect number.

Calculate how many of the integers   1   to   20,000   (inclusive) are in each of the three classes. Show the results here.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Abundant, deficient and perfect number classifications step by step in the Rust programming language

Source code in the rust programming language

fn main() {
    // deficient starts at 1 because 1 is deficient but proper_divisors returns
    // and empty Vec
    let (mut abundant, mut deficient, mut perfect) = (0u32, 1u32, 0u32);
    for i in 1..20_001 {
        if let Some(divisors) = i.proper_divisors() {
            let sum: u64 = divisors.iter().sum();
            if sum < i {
                deficient += 1
            } else if sum > i {
                abundant += 1
            } else {
                perfect += 1
            }
        }
    }
    println!("deficient:\t{:5}\nperfect:\t{:5}\nabundant:\t{:5}",
             deficient, perfect, abundant);
}


  

You may also check:How to resolve the algorithm Erdős-Nicolas numbers step by step in the Arturo programming language
You may also check:How to resolve the algorithm Detect division by zero step by step in the CLU programming language
You may also check:How to resolve the algorithm General FizzBuzz step by step in the Visual Basic .NET programming language
You may also check:How to resolve the algorithm Two bullet roulette step by step in the Python programming language
You may also check:How to resolve the algorithm Sorting algorithms/Bead sort step by step in the F# programming language