Nice primes: Difference between revisions
Content added Content deleted
(Added Forth solution) |
(→{{header|ALGOL W}}: Faster digital root algorithm) |
||
Line 27: | Line 27: | ||
% returns the digital root of n in base 10 % |
% returns the digital root of n in base 10 % |
||
integer procedure digitalRoot( integer value n ) ; |
integer procedure digitalRoot( integer value n ) ; |
||
⚫ | |||
begin |
|||
else begin |
|||
integer root; |
|||
root := ( abs n ) rem 9; |
|||
if root = 0 then 9 else root |
|||
end digitalRoot ; |
|||
do begin |
|||
sum := sum + ( digits rem 10 ); |
|||
digits := digits div 10 |
|||
end % while digits > 0 % ; |
|||
⚫ | |||
end do digits := sum; |
|||
sum |
|||
end digitalRoot ; |
|||
% sets p( 1 :: n ) to a sieve of primes up to n % |
% sets p( 1 :: n ) to a sieve of primes up to n % |
||
procedure Eratosthenes ( logical array p( * ) ; integer value n ) ; |
procedure Eratosthenes ( logical array p( * ) ; integer value n ) ; |