Undulating numbers: Difference between revisions

m
Added Easylang
m (Promoted to 'full' task.)
m (Added Easylang)
Line 399:
of which the largest is 8786648372058464
or expressed in base 7: 5252525252525252525.
</pre>
 
=={{header|EasyLang}}==
{{trans|C++}}
<syntaxhighlight>
func isprim num .
i = 2
while i <= sqrt num
if num mod i = 0
return 0
.
i += 1
.
return 1
.
subr init
a_ = 1
b_ = 0
digits_ = 3
max_ = pow 2 53 - 1
.
func nxtundul .
for d = 1 to digits_
if d mod 2 = 1
n = n * 10 + a_
else
n = n * 10 + b_
.
if n > max_
return 0
.
.
b_ += 1
if a_ = b_
b_ += 1
.
if b_ = 10
a_ += 1
b_ = 0
if a_ = 10
a_ = 1
digits_ += 1
.
.
return n
.
init
while digits_ = 3
write nxtundul & " "
.
print ""
print ""
init
digits_ = 4
while digits_ = 4
write nxtundul & " "
.
print ""
print ""
digits_ = 3
while digits_ = 3
h = nxtundul
if isprim h = 1
write h & " "
.
.
print ""
print ""
digits_ = 3
for cnt to 600
h = nxtundul
.
print h
print ""
digits_ = 3
cnt = 0
repeat
last = h
h = nxtundul
until h = 0
cnt += 1
.
print cnt & " " & last
</syntaxhighlight>
{{out}}
<pre>
101 121 131 141 151 161 171 181 191 202 212 232 242 252 262 272 282 292 303 313 323 343 353 363 373 383 393 404 414 424 434 454 464 474 484 494 505 515 525 535 545 565 575 585 595 606 616 626 636 646 656 676 686 696 707 717 727 737 747 757 767 787 797 808 818 828 838 848 858 868 878 898 909 919 929 939 949 959 969 979 989
 
1010 1212 1313 1414 1515 1616 1717 1818 1919 2020 2121 2323 2424 2525 2626 2727 2828 2929 3030 3131 3232 3434 3535 3636 3737 3838 3939 4040 4141 4242 4343 4545 4646 4747 4848 4949 5050 5151 5252 5353 5454 5656 5757 5858 5959 6060 6161 6262 6363 6464 6565 6767 6868 6969 7070 7171 7272 7373 7474 7575 7676 7878 7979 8080 8181 8282 8383 8484 8585 8686 8787 8989 9090 9191 9292 9393 9494 9595 9696 9797 9898
 
101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
 
4646464646
 
1092 8989898989898989
</pre>
 
2,063

edits