ZX-Ревю 1991 №7-8 1990 г.

Спектрум в школе - В этой статье мы коснемся вопроса исследований. Очень многим решение головоломок, научная и исследовательская работа дают не меньшее удовольствие, чем самая азартная игра.


СПЕКТРУМ В ШКОЛЕ

Много программ написано для игры на "Спектруме". К Вашим услугам самые разнообразные игровые жанры. Вы можете тренировать свою реакцию, изобретательность, исследовательские способности.

В этой статье мы и коснемся вопроса исследований. Очень многим решение головоломок, научная и исследовательская работа дают не меньшее удовольствие, чем самая азартная игра. А если Вы еще не пробовали свои силы в исследованиях, попробуйте. Хуже Вам от этого не будет. Опыт пригодится, а там кто знает, может быть Вы станете и автором открытия.

Задолго до того, как были изобретены ЭВМ, математики выполняли свои расчеты на бумаге. Появление таблиц логарифмов и других справочных таблиц сильно упростило их работу, но вывод новых математических соотношений по-прежнему оставался крайне утомительным делом. Например, вычисление числа "пи" с точностью до 200-300 знаков занимало несколько месяцев кропотливой работы. Точно то же и с простыми числами. Отыскание вручную семизначного числа может занять несколько недель расчетов.

Простое число - это число, которое делится нацело только само на себя или на единицу. Вы знаете, конечно, что к простым относятся числа

1,3,5,7,11,13,17,19,23...

А вот попробуйте вручную с помощью карандаша и бумаги определить, является ли число 1333 простым или нет? И заодно засеките время, которое на это потребуется. А потом попробуйте то же самое узнать с помощью приведенной ниже программы. С ее помощью Вы можете проверить числа до 4 294 967 295 (предел работы "Спектрума" с целыми числами). Если проверяемое число не является простым, то программа выдаст его простые множители.

Если Вам удастся найти простое число, в котором есть несколько нечетных цифр, то попробуйте поменять местами эти нечетные знаки и посмотреть, не будет ли простым число, полученное в результате таких перестановок. Исследуйте, сколько времени занимает проверка числа и как оно зависит от длины этого числа.

А вот еще одна проблема для исследования. Взяв число, являющееся квадратом целого числа, попробуйте получить его в виде суммы двух простых чисел. Например: 25=23+2. А вот число 36 может быть получено даже тремя способами:

5 + 31 = 36

7 + 29 = 36

17 + 19 = 36

Может быть для больших чисел можно найти другой рекорд?

Еще вопрос. А можно ли суммой трех простых чисел образовать квадрат целого числа и всегда ли?

Развлечения с числами вдохновляли математиков много столетий. Можно сказать, что задача выведения формулы для генерации простых чисел заняла больше человеко-часов работы, чем любая другая математическая проблема. Даже и сегодня формулы для вычисления всех простых чисел нет. Появляются все новые и новые формулы, но находятся простые числа, которые в них не укладываются.

Великий Эйлер когда-то предложил формулу X2 + X + 41, но к сожалению, среди тех

чисел, которые она дает, есть не только простые числа.

Другой хорошо известной формулой стала формула генерации чисел Мерсена (по имени французского монаха, занимавшегося этой проблемой в 17 веке). Эта формула: 2p-1, где p - в свою очередь тоже простое число.

Самое интересное, что число 267-1 более двухсот лет считалось простым, пока в 1903 году один американский профессор не показал, что оно делится на 193707721 и на 761836257287.

После 1952 года к поискам и проверкам чисел Мерсена подключились компьютеры.

1952 г. - 2 2281 - 1

1962 г. - 24423 - 1

1968 г. - 211213 - 1

1971 г. - 219937 - 1

Метод, которым ищутся простые числа, остался неизменным почти 2000 лет и носит название "решето Эратосфена" по имени Эратосфена из Александрии. Метод прост и заключается в следующем:

Записывается ряд положительных чисел. Затем слева направо в нем вычеркивается каждое второе число, затем каждое третье, каждое четвертое и т.д. Таким образом, все числа, которые могут быть представлены в виде произведения других, выпадают, а оставшиеся и являются простыми числами.

С простыми числами можно сделать еще ряд интересных наблюдений, например то, что первые пять цифр после запятой числа "пи" образуют простое число.

3.14159... - 14159

Проверьте и убедитесь.

Проверьте числа, образованные одинаковыми цифрами, например

111, 1111, 11111, 7777 и т.п.

Какие из них являются простыми? И в заключение три проблемы:

1) сколько полиндромов, являющихся простыми числами Вы можете найти? Полиндромами называют числа, которые слева направо и справа налево читаются одинаково, например:

3156513

2) Используя каждую цифру 1, 2, 3, 4, 5, 6, 7, 8, 9 и только по одному разу образуйте три простых числа, имеющих минимальную сумму. Например, простые числа 941, 653 и 827 дают в сумме 2421, но это не минимальная сумма.

3) Не сможете ли Вы с помощью "Спектрума" составить магический квадрат, состоящий только из простых чисел. Напоминаем, что в магическом квадрате сумма цифр

по всем вертикалям, горизонталям и диагоналям одинакова.

* * *

В предлагаемой программе мы все текстовые сообщения, стоящие в кавычках и в строках REM дали на русской языке. Вы, наверное сами разберетесь, чем их заменить, если в Вашем компьютере нет русского шрифта или вообще пропустите. На итог работы это никак не повлияет.

10 PRINT "Программа для проверки простых чисел"

20 PRINT ' "Введите Ваше число......Для прекращения работы введите <s>......Нажмите любую

клавишу" 40 DIM L(400) 60 REM *** Блок ввода *** 70 INPUT B$: CLS 80 INPUT "Введите число"; N$ 90 IF N$="s" OR N$="S" THEN STOP 100 LET number = VAL N$

110 IF number - INT (number)<>0 THEN PRINT "Число не целое": GO TO 80 130 REM ***Блок инициализации *** 140 IF number=2 OR number=3 THEN GO TO 290 150 LET index=1: LET temp=number: LET flag=0 160 REM ***Главный блок *** 170 IF 2*INT(temp/2)=temp THEN LET L(index)=2:

LET flag=1: LET index=index+1: LET temp=INT(temp/2): GO TO 170 180 LET factor = 3

190 IF factor*INT(temp/factor)=temp THEN LET L(index)=factor: LET index=index+1: LET flag=1:

LET temp=INT(temp/factor): GO TO 190

210 IF factor"2>temp AND flag=0 THEN GO TO 290 220 IF factor"2>temp AND flag=1 THEN LET L(index)=temp: LET index=index+1: GO TO 245 230 LET factor=factor+2: GO TO 190 240 REM *** Блок печати ***

245 PRINT number; " не простое число......Его множители:-"

250 FOR j=1 TO index-1 260 PRINT L(j) 270 NEXT j 280 PRINT: GO TO 80

290 PRINT " ";number;" простое число": PRINT: GO TO 80




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Анкета - Соореr.
HORROR - Повесть С.Кинга "Дети кукурузы" (продолжение).
Юмор - как Avalon готовились к Enlight 1997.
WINSON NEWS - LIME 2 BBS прекратила своё существование - задолбали вешать сервер!.. Крутой рынок - Царицыно.
Обозрение - Apple: взгляд на прошлое и настоящее.

В этот день...   21 ноября