Простые числа, Близнецы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Простые числа, Близнецы |
mithquessir |
Сообщение
#1
|
Гость |
Дано натуральное число n. Выяснить, имеются ли среди n,n+1,...,2n близнецы, т.е. простые числа, разность между которыми равна нулю.
Не могу понять, что значит близнецы и как разность между ними может быть нулевой. |
mithquessir |
Сообщение
#2
|
Гость |
Упс, сглупил.
Разность равна не 0, а 2. Код program Gemini; uses Crt; var nn, nk, np, k, counter_gemini : Integer; function Simple_Number(Sm:Integer): Boolean; {функция проверки: Sm - простое?} var x, i : Integer; begin Simple_Number := False; x := 2; I := 1; while (x<Sm) and (i=1) do begin if Sm mod x = 0 then i := 0 else Inc(x); end; if i=1 then Simple_Number := True; {если флаг равен 1, то Sm - простое} end; {function} begin {main} ClrScr; counter_gemini := 0; {counter_gemini - счетчик чисел-близнецов} WriteLn('==================================='); WriteLn('n? '); ReadLn(nn); nk := 2*nn; np := nn; Write('Among: '); for k := nn to nk do Write(k,' '); WriteLn; repeat if (np mod 2)=0 then Inc(np); {если np-непростое, увеличиваем его на 1} if Simple_Number(np) {если первое число - простое} then begin Inc(np,2); {переходим на два числа вперед} if Simple_Number(np) then {если и это число простое} begin WriteLn('twins: ',np-2,' ', np); {вывод близнецов} Inc(counter_gemini); end; end else Inc(np); {иначе (np-непростое) переходим к следующему числу} until np>=nk; if counter_gemini=0 then WriteLn('no twins') else WriteLn('num of pairs: ', counter_gemini); ReadLn; end. Решение не мое. |
volvo |
Сообщение
#3
|
Гость |
mithquessir
И в чем собственно вопрос? |
mithquessir |
Сообщение
#4
|
Гость |
Уже не в чем. Я сначала не правильно понял условие.
|
Текстовая версия | 11.01.2025 4:20 |