Построение множества из целых чисел, кратных 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
, при этом каждое число выводится в отдельной строке, а перед выводом числа выводится его порядковый номер в множестве. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д