Помощь - Поиск - Пользователи - Календарь
Полная версия: задачко)
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
улЫбастик
А дело, собсно, в чем...
>>На интервале (1000;9999) найти все простые числа, у которых сумма перфой и и второй циф0р равняется сумме третей и четвертой.

есть идея, относительно цифр: (число div 1000) и будет первой цифрой; с остальными - по анологии.
а как быть с нахождением всех простых чисел?
volvo
Цитата
а как быть с нахождением всех простых чисел?
Искать по форуму (особенно в FAQ-е), там есть функция IsSimple, вот каждое число ей и проверяй. Если оно таки простое - то дальше делается уже твоя проверка, иначе и проверять ничего не надо - сразу переходить к следующему числу.

Цитата
с остальными - по анологии.
Хотелось бы посмотреть на эту аналогию... С первой и последней - легко, со второй и третьей цифрами - уже сложнее...
улЫбастик
volvo, однако, прав.
а что если сделать mod 1000, ф потом div 100 от числа(или чтото в єтом духе)?
klem4
 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...

Tan
Что - то в этом роде ?
uses crt;
var k : integer;
function Simple (n : integer) : boolean;
var sum, i : integer;
begin
sum := 0;
for i := 1 to N do if n mod i = 0 then inc (sum);
if sum = 2 then Simple := True else Simple := False;
end;
function Check (n : integer) : boolean;
var cifri : array [1..4] of integer;
i : integer;
begin
i := 5;
while n > 0 do
begin
dec (i);
cifri[i] := n mod 10;
n := n div 10;
end;
if cifri[1] + cifri[2] = cifri[3] + cifri[4] then Check := True else Check := False;
end;
begin
Clrscr;
for k := 1000 to 9999 do if Simple(k) and Check(k) then writeln (k);
end.
улЫбастик
klem4, учту, исправлюсь))
Tan , вроде да)ришпект и уважуга, как говорится. приду домой, затестю. привлекаед компактность(сам уже прикинул вариацию, более обьемную))))
Lapp
Нарушения зашкаливают, реакции - ноль.
 ! 
Тема закрыта

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.