Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,15 +0,0 @@
|
|||
package Generic_Root is
|
||||
type Number is range 0 .. 2**63-1;
|
||||
type Number_Array is array(Positive range <>) of Number;
|
||||
type Base_Type is range 2 .. 16; -- any reasonable base to write down numb
|
||||
|
||||
generic
|
||||
with function "&"(X, Y: Number) return Number;
|
||||
-- instantiate with "+" for additive digital roots
|
||||
-- instantiate with "*" for multiplicative digital roots
|
||||
procedure Compute_Root(N: Number;
|
||||
Root, Persistence: out Number;
|
||||
Base: Base_Type := 10);
|
||||
-- computes Root and Persistence of N;
|
||||
|
||||
end Generic_Root;
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
package body Generic_Root is
|
||||
|
||||
procedure Compute_Root(N: Number;
|
||||
Root, Persistence: out Number;
|
||||
Base: Base_Type := 10) is
|
||||
|
||||
function Digit_Sum(N: Number) return Number is
|
||||
begin
|
||||
if N < Number(Base) then
|
||||
return N;
|
||||
else
|
||||
return (N mod Number(Base)) & Digit_Sum(N / Number(Base));
|
||||
end if;
|
||||
end Digit_Sum;
|
||||
|
||||
begin
|
||||
if N < Number(Base) then
|
||||
Root := N;
|
||||
Persistence := 0;
|
||||
else
|
||||
Compute_Root(Digit_Sum(N), Root, Persistence, Base);
|
||||
Persistence := Persistence + 1;
|
||||
end if;
|
||||
end Compute_Root;
|
||||
|
||||
end Generic_Root;
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
with Generic_Root, Ada.Text_IO; use Generic_Root;
|
||||
|
||||
procedure Digital_Root is
|
||||
|
||||
procedure Compute is new Compute_Root("+");
|
||||
-- "+" for additive digital roots
|
||||
|
||||
package TIO renames Ada.Text_IO;
|
||||
|
||||
procedure Print_Roots(Inputs: Number_Array; Base: Base_Type) is
|
||||
package NIO is new TIO.Integer_IO(Number);
|
||||
Root, Pers: Number;
|
||||
begin
|
||||
for I in Inputs'Range loop
|
||||
Compute(Inputs(I), Root, Pers, Base);
|
||||
NIO.Put(Inputs(I), Base => Integer(Base), Width => 12);
|
||||
NIO.Put(Root, Base => Integer(Base), Width => 9);
|
||||
NIO.Put(Pers, Base => Integer(Base), Width => 12);
|
||||
TIO.Put_Line(" " & Base_Type'Image(Base));
|
||||
end loop;
|
||||
end Print_Roots;
|
||||
begin
|
||||
TIO.Put_Line(" Number Root Persistence Base");
|
||||
Print_Roots((961038, 923594037444, 670033, 448944221089), Base => 10);
|
||||
Print_Roots((16#7e0#, 16#14e344#, 16#12343210#), Base => 16);
|
||||
end Digital_Root;
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. DIGITAL-ROOT.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 VARIABLES.
|
||||
03 INPUT-NUMBER PIC 9(16).
|
||||
03 INPUT-DIGITS REDEFINES INPUT-NUMBER,
|
||||
PIC 9 OCCURS 16 TIMES.
|
||||
03 DIGIT-SUM PIC 999.
|
||||
03 DIGIT-NO PIC 99.
|
||||
03 PERSISTENCE PIC 9.
|
||||
|
||||
01 OUTPUT-FORMAT.
|
||||
03 O-NUMBER PIC Z(15)9.
|
||||
03 FILLER PIC X(16) VALUE ': PERSISTENCE = '.
|
||||
03 O-PERSISTENCE PIC Z9.
|
||||
03 FILLER PIC X(9) VALUE ', ROOT = '.
|
||||
03 O-ROOT PIC Z9.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
BEGIN.
|
||||
MOVE 627615 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT.
|
||||
MOVE 39390 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT.
|
||||
MOVE 588225 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT.
|
||||
MOVE 393900588225 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT.
|
||||
STOP RUN.
|
||||
|
||||
FIND-DIGITAL-ROOT.
|
||||
MOVE ZERO TO PERSISTENCE.
|
||||
MOVE INPUT-NUMBER TO O-NUMBER.
|
||||
PERFORM SUMMATION UNTIL INPUT-NUMBER IS LESS THAN 10.
|
||||
MOVE INPUT-NUMBER TO O-ROOT.
|
||||
MOVE PERSISTENCE TO O-PERSISTENCE.
|
||||
DISPLAY OUTPUT-FORMAT.
|
||||
|
||||
SUMMATION.
|
||||
MOVE ZERO TO DIGIT-SUM.
|
||||
ADD 1 TO PERSISTENCE.
|
||||
PERFORM ADD-DIGIT VARYING DIGIT-NO FROM 1 BY 1
|
||||
UNTIL DIGIT-NO IS GREATER THAN 16.
|
||||
MOVE DIGIT-SUM TO INPUT-NUMBER.
|
||||
|
||||
ADD-DIGIT.
|
||||
ADD INPUT-DIGITS(DIGIT-NO) TO DIGIT-SUM.
|
||||
|
|
@ -20,7 +20,7 @@ extension op
|
|||
}
|
||||
}
|
||||
|
||||
public program()
|
||||
public Program()
|
||||
{
|
||||
new long[]{627615l, 39390l, 588225l, 393900588225l}.forEach::(num)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
function Get-DigitalRoot ($n)
|
||||
{
|
||||
function Get-Digitalsum ($n)
|
||||
{
|
||||
if ($n -lt 10) {$n}
|
||||
else {
|
||||
($n % 10) + (Get-DigitalSum ([math]::Floor($n / 10)))
|
||||
}
|
||||
}
|
||||
|
||||
$ap = 0
|
||||
do {$n = Get-DigitalSum $n; $ap++}
|
||||
until ($n -lt 10)
|
||||
$DigitalRoot = [pscustomobject]@{
|
||||
'Sum' = $n
|
||||
'Additive Persistence' = $ap
|
||||
}
|
||||
$DigitalRoot
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
function Get-DigitalRoot {
|
||||
param($n)
|
||||
$ap = 0
|
||||
do {$n = Invoke-Expression ("0"+([string]$n -split "" -join "+")+"0"); $ap++} while ($n -ge 10)
|
||||
[PSCustomObject]@{
|
||||
DigitalRoot = $n
|
||||
AdditivePersistence = $ap
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
-- 8 May 2025
|
||||
include Settings
|
||||
-- 23 Aug 2025
|
||||
include Setting
|
||||
|
||||
say 'DIGITAL ROOT'
|
||||
say version
|
||||
|
|
@ -24,7 +24,4 @@ Show:
|
|||
arg x
|
||||
return 'Number:' x 'Digital root:' Digitroot(x) 'Additive persistence:' Persistence(x)
|
||||
|
||||
include Functions
|
||||
include Special
|
||||
include Numbers
|
||||
include Abend
|
||||
include Math
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
Function digital_root(n)
|
||||
ap = 0
|
||||
Do Until Len(n) = 1
|
||||
x = 0
|
||||
For i = 1 To Len(n)
|
||||
x = x + CInt(Mid(n,i,1))
|
||||
Next
|
||||
n = x
|
||||
ap = ap + 1
|
||||
Loop
|
||||
digital_root = "Additive Persistence = " & ap & vbCrLf &_
|
||||
"Digital Root = " & n & vbCrLf
|
||||
End Function
|
||||
|
||||
WScript.StdOut.Write digital_root(WScript.Arguments(0))
|
||||
Loading…
Add table
Add a link
Reference in a new issue