Другие языки программирования и технологии
Пожалуйста помогите решить задачу на ПАСКАЛЬ.
Найти среди чисел, расположенных в диапазоне от 100 // до 999 все числа, являющиеся произведением двух // своих простых делителей.
Для решения данной задачи, нужно перебрать все числа в диапазоне от 100 до 999 и проверить, является ли каждое из них произведением двух своих простых делителей. Для этого напишем программу на Паскале:
program Main;
var
i, j, n: integer;
begin
for i := 100 to 999 do // перебираем все числа в диапазоне
begin
for j := 2 to i - 1 do // перебираем все возможные делители
begin
if (i mod j = 0) then // проверяем, является ли j делителем i
begin
n := i div j; // находим другой делитель
if (n <> j) and (n > 1) and (n < 100) and (j < 100) then // проверяем, что оба делителя являются простыми и меньше 100
begin
writeln(i); // выводим найденное число
break; // прекращаем перебор делителей для текущего числа
end;
end;
end;
end;
end.
После запуска программы на экране появятся все числа, являющиеся произведением двух своих простых делителей в диапазоне от 100 до 999.
program Main;
var
i, j, n: integer;
begin
for i := 100 to 999 do // перебираем все числа в диапазоне
begin
for j := 2 to i - 1 do // перебираем все возможные делители
begin
if (i mod j = 0) then // проверяем, является ли j делителем i
begin
n := i div j; // находим другой делитель
if (n <> j) and (n > 1) and (n < 100) and (j < 100) then // проверяем, что оба делителя являются простыми и меньше 100
begin
writeln(i); // выводим найденное число
break; // прекращаем перебор делителей для текущего числа
end;
end;
end;
end;
end.
После запуска программы на экране появятся все числа, являющиеся произведением двух своих простых делителей в диапазоне от 100 до 999.
Павел Кузьмин
а обязательно в конце команда break? я просто не помню чтобы мы ее брали
Анатолий Кирсанов
слив зощитан
program PrimeMultiples;
var
i, j, k, n: integer;
isPrime: boolean;
begin
for i := 100 to 999 do
begin
for j := 2 to i - 1 do
begin
if i mod j = 0 then
begin
isPrime := true;
for k := 2 to j - 1 do
begin
if j mod k = 0 then
begin
isPrime := false;
break;
end;
end;
if isPrime and (i div j j) then
begin
n := i div j;
isPrime := true;
for k := 2 to n - 1 do
begin
if n mod k = 0 then
begin
isPrime := false;
break;
end;
end;
if isPrime then
begin
writeln(i);
break;
end;
end;
end;
end;
end;
end.
проверь сначала, то или нетПохожие вопросы
- Пожалуйста помогите решить задачу в Паскале.
- Пожалуйста помогите решить задачу по паскалю!!!
- Помогите решить задачи по Паскалю
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.
- Помогите решить задачу в паскале, пожалуйста! !
- Помогите решить задачу в паскале
- Помогите решить задачу на паскале
- Помогите решить задачу в паскале. Задание: Заменить в строке все вхождения "да" на "нет".
- Уважаемые!Помогите решить задачу по Паскалю,пожайлуста!
- Помогите решить задачу в паскале