Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
32
Task/Disarium-numbers/CLU/disarium-numbers.clu
Normal file
32
Task/Disarium-numbers/CLU/disarium-numbers.clu
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
is_disarium = proc (n: int) returns (bool)
|
||||
digits: array[int] := array[int]$[]
|
||||
number: int := n
|
||||
while n > 0 do
|
||||
array[int]$addl(digits, n//10)
|
||||
n := n / 10
|
||||
end
|
||||
array[int]$set_low(digits, 1)
|
||||
digit_power_sum: int := 0
|
||||
for i: int in array[int]$indexes(digits) do
|
||||
digit_power_sum := digit_power_sum + digits[i] ** i
|
||||
end
|
||||
return(digit_power_sum = number)
|
||||
end is_disarium
|
||||
|
||||
disaria = iter (amount: int) yields (int)
|
||||
n: int := 0
|
||||
while amount > 0 do
|
||||
if is_disarium(n) then
|
||||
amount := amount - 1
|
||||
yield(n)
|
||||
end
|
||||
n := n + 1
|
||||
end
|
||||
end disaria
|
||||
|
||||
start_up = proc ()
|
||||
po: stream := stream$primary_output()
|
||||
for n: int in disaria(19) do
|
||||
stream$putl(po, int$unparse(n))
|
||||
end
|
||||
end start_up
|
||||
Loading…
Add table
Add a link
Reference in a new issue