Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Максус |
18.9.2009, 10:49
Сообщение
#1
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 12 Регистрация: 22.4.2009 Город: калининград Учебное заведение: КГТУ Вы: студент |
Задача: Если числа n и n+2 являются простыми, то они называются простыми числами-близнецами. Найдите все простые близнецы, не превосходящие 1000.
Подскажите, пожалуйста, с чего следует начать в составлении кода на Maple? |
| Vago |
18.9.2009, 13:56
Сообщение
#2
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 26 Регистрация: 12.9.2009 Город: dp |
С блок-схемы. Или с описания алгоритма на PDL. Или вообще на русском языке (...берём очередное натуральное число; если оно простое, то ... , в противном случае - ... ). Потом лезем в Help Maple'а задаём там поиск по слову 'programming' и смотрим, как там программируются цикл и выбор...
Для вероятностной оценки того, является ли число простым, в Maple есть функция isprime() . |
| Максус |
19.9.2009, 5:59
Сообщение
#3
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 12 Регистрация: 22.4.2009 Город: калининград Учебное заведение: КГТУ Вы: студент |
for n from 1 to 1000 do if isprime(n) = true then print(n, n+2) end if; end do; Выводится список простых-близнецов, смущает только первая пара "2,4" (4 - не простое число), в чем моя ошибка? И можно ли как-нибудь более компактно выводить полученный результат, в строчку? (Все пары чисел располагаются в столбец, что очень "захламляет", а мне нужно распечатать работу (IMG:style_emoticons/default/huh.gif) ). Заранее, спасибо (IMG:style_emoticons/default/smile.gif) |
| Vago |
19.9.2009, 7:25
Сообщение
#4
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 26 Регистрация: 12.9.2009 Город: dp |
for n from 1 to 1000 do Судя по условию, на 998 можно остановиться (IMG:style_emoticons/default/wink.gif) Цитата смущает только первая пара "2,4" А пара "7,9" не смущает? (IMG:style_emoticons/default/wink.gif) Нашли очередное простое n и так обрадовались, что тут же его, в паре с неважно каким n+2, распечатали. А это самое n+2 проверять на простоту не надо? (IMG:style_emoticons/default/wink.gif) Цитата можно ли как-нибудь более компактно выводить полученный результат, в строчку? printf( "%6d и %d", i, i+2); А если снова захочется в столбец - добавить в конец форматного шаблона символ перехода на новую строку: printf( "%6d и %d\n", i, i+2); |
| Максус |
19.9.2009, 7:48
Сообщение
#5
|
|
Школьник ![]() Группа: Продвинутые Сообщений: 12 Регистрация: 22.4.2009 Город: калининград Учебное заведение: КГТУ Вы: студент |
Ох, да, конечно, позабыл:
for n from 1 to 1000 do if isprime(n) = true and isprime(n+2) = true Спасибо, огромное (IMG:style_emoticons/default/smile.gif) |
![]() ![]() |
|
Текстовая версия | Сейчас: 19.4.2026, 2:44 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru