Brazilian numbers: Difference between revisions
Content added Content deleted
Alextretyak (talk | contribs) (Added 11l) |
|||
Line 38: | Line 38: | ||
:* '''[[oeis:A085104|OEIS:A085104 - Prime Brazilian numbers]]''' |
:* '''[[oeis:A085104|OEIS:A085104 - Prime Brazilian numbers]]''' |
||
<br><br> |
<br><br> |
||
=={{header|11l}}== |
|||
{{trans|Nim}} |
|||
<lang 11l>F isPrime(n) |
|||
I n % 2 == 0 |
|||
R n == 2 |
|||
I n % 3 == 0 |
|||
R n == 3 |
|||
V d = 5 |
|||
L d * d <= n |
|||
I n % d == 0 |
|||
R 0B |
|||
I n % (d + 2) == 0 |
|||
R 0B |
|||
d += 6 |
|||
R 1B |
|||
F sameDigits(=n, b) |
|||
V d = n % b |
|||
n I/= b |
|||
I d == 0 |
|||
R 0B |
|||
L n > 0 |
|||
I n % b != d |
|||
R 0B |
|||
n I/= b |
|||
R 1B |
|||
F isBrazilian(n) |
|||
I n < 7 |
|||
R 0B |
|||
I (n [&] 1) == 0 |
|||
R 1B |
|||
L(b) 2 .. n - 2 |
|||
I sameDigits(n, b) |
|||
R 1B |
|||
R 0B |
|||
F printList(title, check) |
|||
print(title) |
|||
V n = 7 |
|||
[Int] l |
|||
L |
|||
I check(n) & isBrazilian(n) |
|||
l.append(n) |
|||
I l.len == 20 {L.break} |
|||
n++ |
|||
print(l.join(‘, ’)) |
|||
print() |
|||
printList(‘First 20 Brazilian numbers:’, n -> 1B) |
|||
printList(‘First 20 odd Brazilian numbers:’, n -> (n [&] 1) != 0) |
|||
printList(‘First 20 prime Brazilian numbers:’, n -> (n [&] 1) != 0 & isPrime(n))</lang> |
|||
{{out}} |
|||
<pre> |
|||
First 20 Brazilian numbers: |
|||
7, 8, 10, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 26, 27, 28, 30, 31, 32, 33 |
|||
First 20 odd Brazilian numbers: |
|||
7, 13, 15, 21, 27, 31, 33, 35, 39, 43, 45, 51, 55, 57, 63, 65, 69, 73, 75, 77 |
|||
First 20 prime Brazilian numbers: |
|||
7, 13, 31, 43, 73, 127, 157, 211, 241, 307, 421, 463, 601, 757, 1093, 1123, 1483, 1723, 2551, 2801 |
|||
</pre> |
|||
=={{header|ALGOL W}}== |
=={{header|ALGOL W}}== |