How to resolve the algorithm Abundant, deficient and perfect number classifications step by step in the Ceylon 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 Ceylon 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 Ceylon programming language
Source code in the ceylon programming language
shared void run() {
function divisors(Integer int) =>
if(int <= 1) then {} else (1..int / 2).filter((Integer element) => element.divides(int));
function classify(Integer int) => sum {0, *divisors(int)} <=> int;
value counts = (1..20k).map(classify).frequencies();
print("deficient: ``counts[smaller] else "none"``");
print("perfect: ``counts[equal] else "none"``");
print("abundant: ``counts[larger] else "none"``");
}
You may also check:How to resolve the algorithm Hofstadter Figure-Figure sequences step by step in the CoffeeScript programming language
You may also check:How to resolve the algorithm Function definition step by step in the Haskell programming language
You may also check:How to resolve the algorithm First-class functions step by step in the XBS programming language
You may also check:How to resolve the algorithm Non-continuous subsequences step by step in the Haskell programming language
You may also check:How to resolve the algorithm Primality by Wilson's theorem step by step in the Rust programming language