Brazilian numbers: Difference between revisions

m
(→‎{{header|ANSI BASIC}}: Added a solution.)
Line 1,654:
{{trans|C}}
<syntaxhighlight lang="easylang">
procfunc sameDigits n b . r .
r = 1
f = n mod b
repeat
Line 1,661 ⟶ 1,660:
until n = 0
if n mod b <> f
r =return 0
break 1
.
.
r =return 1
.
procfunc isBrazilian7 n . r .
# n >= 7
r = 0
if n mod 2 = 0
r =return 1
break 1
.
for b = 2 to n - 2
callif sameDigits n b h= 1
if h = return 1
r = 1
break 2
.
.
r =return 0
.
procfunc isPrime4prime n . r .
#if n >mod 2 = 40 and n > 2
r = return 0
if n mod 2 = 0 or n mod 3 = 0
break 1
.
di = 53
whilesq d= * d <=sqrt n
while i if n mod d <= 0sq
if n mod breaki 2= 0
breakreturn 10
.
di += 2
if n mod d = 0
break 2
.
d += 4
.
r =return 1
.
for kind$ in [ "" "odd" "prime" ]
Line 1,705 ⟶ 1,696:
cnt = 1
while cnt <= 20
callif isBrazilian7 n r= 1
if r = 1
write n & " "
cnt += 1
Line 1,717 ⟶ 1,707:
repeat
n += 2
calluntil isPrime4prime n r= 1
until r = 1
.
.
2,083

edits