vak: (Default)
[personal profile] vak
Я тут натаскал интересных задачек с Rosetta Code, покажу вам.

sieve.a60

Решето Эратосфена: вычисляем простые числа до миллиона. Фишка в том, что в оригинальной машине Electrologica X1 было всего 32 килослова памяти, и такая программа бы не поместилась. Но на симуляторе мы сделали стек размером в 1 мегаслово, почему бы и нет.
$ cd x1-algol-compiler/examples
$ x1sim sieve.a60
Computing primes.............
Number of primes below 1000 000: 78498

palindromic_primes.a60

Вычисляем простые числа-палиндромы. Это когда число одинаково читается как справа налево, так и слева направо. Заметьте два звериных палиндрома, у которых внутри число зверя 666.
$ x1sim palindromic_primes.a60
Computing primes up to 100000...
Palindromic primes: 2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 10301 10501 10601 11311 11411 12421 12721 12821 13331 13831 13931 14341 14741 15451 15551 16061 16361 16561 16661 17471 17971 18181 18481 19391 19891 19991 30103 30203 30403 30703 30803 31013 31513 32323 32423 33533 34543 34843 35053 35153 35353 35753 36263 36563 37273 37573 38083 38183 38783 39293 70207 70507 70607 71317 71917 72227 72727 73037 73237 73637 74047 74747 75557 76367 76667 77377 77477 77977 78487 78787 78887 79397 79697 79997 90709 91019 93139 93239 93739 94049 94349 94649 94849 94949 95959 96269 96469 96769 97379 97579 97879 98389 98689

steady_squares.a60

Вычисляем устойчивые квадраты. Это когда квадрат числа оканчивается теми же цифрами.
$ x1sim steady_squares.a60 
Searching up to 10000 for steady squares:
1 5 6 25 76 376 625

perfect_numbers.a60

Ищем совершенные числа. Такое число равно сумме своих делителей.
$ x1sim perfect_numbers.a60
Searching up to 10000 for perfect numbers: 6 28 496 8128
4 were found.

mersenne.a60

Ищем простые числа Мерсенна. Это когда число 2N-1 оказывается простым.
$ x1sim mersenne.a60 
Searching to M(19) for Mersenne primes
M(3) : 7
M(5) : 31
M(7) : 127
M(13) : 8191
M(17) : 131071
M(19) : 524287

disarium.a60

Находим дизарии. Число называется дизарием, если сумма его цифр, возведенных в степень с соответствующими им позициями, равна самому числу. К примеру, 135 = 11 + 32 + 53.
$ x1sim disarium.a60 
0 1 2 3 4 5 6 7 8 9 89 135 175 518 598 1306 1676 2427

magic_square.a60

Вычисляем магический квадрат 8x8.
$ x1sim magic_square.a60 
magic square, n = 8

1 2 62 61 60 59 7 8
9 10 54 53 52 51 15 16
48 47 19 20 21 22 42 41
40 39 27 28 29 30 34 33
32 31 35 36 37 38 26 25
24 23 43 44 45 46 18 17
49 50 14 13 12 11 55 56
57 58 6 5 4 3 63 64

magic constant = 260
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org