Digital root: Difference between revisions

Content added Content deleted
No edit summary
Line 4,263: Line 4,263:
DIGITAL ROOT 9
DIGITAL ROOT 9
ADDITIVE PERSISTENCE 2</pre>
ADDITIVE PERSISTENCE 2</pre>

== {{header|TypeScript}} ==
{{trans|ASIC}}
<lang javascript>// Digital root

function rootAndPers(n: number, bas: number): [number, number] {
var pers = 0;
while (n >= bas)
{
var s = 0;
do
{
s += n % bas;
n = Math.floor(n / bas);
} while (n > 0);
pers++;
n = s;
}
return [n, pers];
}

function intToString(n: number, wdth: number): string {
sn = (Math.floor(n)).toString();
len = sn.length;
return (wdth < len ? "#".repeat(wdth) : " ".repeat(wdth - len) + sn);
}

for (var a of [1, 14, 267, 8128, 39390, 588225, 627615])
{
var rp = rootAndPers(a, 10);
console.log(intToString(a, 7) +
intToString(rp[1], 6) + intToString(rp[0], 6));
}
</lang>
{{out}}
<pre>
1 0 1
14 1 5
267 2 6
8128 3 1
39390 2 6
588225 2 3
627615 2 9
</pre>


=={{header|uBasic/4tH}}==
=={{header|uBasic/4tH}}==