How to resolve the algorithm Arithmetic/Rational step by step in the Sidef programming language
How to resolve the algorithm Arithmetic/Rational step by step in the Sidef programming language
Table of Contents
Problem Statement
Create a reasonably complete implementation of rational arithmetic in the particular language using the idioms of the language.
Define a new type called frac with binary operator "//" of two integers that returns a structure made up of the numerator and the denominator (as per a rational number). Further define the appropriate rational unary operators abs and '-', with the binary operators for addition '+', subtraction '-', multiplication '×', division '/', integer division '÷', modulo division, the comparison operators (e.g. '<', '≤', '>', & '≥') and equality operators (e.g. '=' & '≠'). Define standard coercion operators for casting int to frac etc. If space allows, define standard increment and decrement operators (e.g. '+:=' & '-:=' etc.). Finally test the operators: Use the new type frac to find all perfect numbers less than 219 by summing the reciprocal of the factors.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Arithmetic/Rational step by step in the Sidef programming language
Source code in the sidef programming language
for n in (1 .. 2**19) {
var frac = 0
n.divisors.each {|d|
frac += 1/d
}
if (frac.is_int) {
say "Sum of reciprocal divisors of #{n} = #{frac} exactly #{
frac == 2 ? '- perfect!' : ''
}"
}
}
You may also check:How to resolve the algorithm Leap year step by step in the Perl programming language
You may also check:How to resolve the algorithm Day of the week step by step in the Stata programming language
You may also check:How to resolve the algorithm Variables step by step in the Quackery programming language
You may also check:How to resolve the algorithm Minesweeper game step by step in the Python programming language
You may also check:How to resolve the algorithm Integer comparison step by step in the Euphoria programming language