Построение множества из целых чисел, кратных 7, но не кратных 5 и 9 из диапазона от 1 до 200 - Free Pascal
Формулировка задачи:
Построить множество, состоящее из целых чисел, кратных 7, но не кратных 5 и 9 из диапазона от 1 до 200.
чувствую налажал с ифами и нужно заменить их циклом со счетчиком, но вот как это сделать?
Листинг программы
- const a=200;
- label 1;
- var mnoz: set of 1..a;
- n,b,g,h,i: integer;
- begin
- n:=0;
- for i:=1 to a do begin
- b:=n-(n/7)*7;
- if b=0 then
- g:= n - (n/9)*9;
- else goto 1;
- if g <> 0 then
- h:= n-(n/5)*5;
- else goto 1;
- if h <> 0 then
- mnoz:= mnoz+n;
- else goto 1;
- 1: n:=n+1;
- end;
- writeln(mnoz);
- readln;
- end.
Решение задачи: «Построение множества из целых чисел, кратных 7, но не кратных 5 и 9 из диапазона от 1 до 200»
textual
Листинг программы
- const
- a = 200;
- var
- m : set of 1 .. a;
- i : integer;
- begin
- for i := 1 to a do
- if (i mod 7 = 0) and (i mod 5 <> 0) and (i mod 9 <> 0) then m := m + [i];
- for i in m do write(i : 4);
- end.
Объяснение кода листинга программы
- Объявляются две переменные:
a
(целочисленная константа со значением 200) иm
(множество, в котором будут храниться искомые числа). - Переменная
i
инициализируется значением 1. - Запускается цикл, который будет выполняться до тех пор, пока значение переменной
i
меньше или равно 200. - Внутри цикла проверяется, делится ли текущее значение
i
на 7 без остатка. - Если условие выполняется, то проверяется, делится ли текущее значение
i
на 5 без остатка. - Если условие не выполняется, то проверяется, делится ли текущее значение
i
на 9 без остатка. - Если все три условия выполняются, то текущее значение
i
добавляется в множествоm
. - После завершения первого цикла начинается второй цикл, который перебирает все элементы множества
m
. - Внутри второго цикла выводится на экран значение каждого элемента множества
m
, при этом каждое число выводится в отдельной строке, а перед выводом числа выводится его порядковый номер в множестве. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д