![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Максус |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 12 Регистрация: 22.4.2009 Город: калининград Учебное заведение: КГТУ Вы: студент ![]() |
Задача: Если числа n и n+2 являются простыми, то они называются простыми числами-близнецами. Найдите все простые близнецы, не превосходящие 1000.
Подскажите, пожалуйста, с чего следует начать в составлении кода на Maple? |
![]() ![]() |
Vago |
![]()
Сообщение
#2
|
Школьник ![]() Группа: Продвинутые Сообщений: 26 Регистрация: 12.9.2009 Город: dp ![]() |
С блок-схемы. Или с описания алгоритма на PDL. Или вообще на русском языке (...берём очередное натуральное число; если оно простое, то ... , в противном случае - ... ). Потом лезем в Help Maple'а задаём там поиск по слову 'programming' и смотрим, как там программируются цикл и выбор...
Для вероятностной оценки того, является ли число простым, в Maple есть функция isprime() . |
Максус |
![]()
Сообщение
#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 |
![]()
Сообщение
#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); |
Максус |
![]()
Сообщение
#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) |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:54 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru