Некорректно работает программа - Turbo Pascal

Формулировка задачи:

Есть программа с использованием множеств. Задание: напечатайте все целые числа, лежащие в диапазоне от 5 до 100, которые представимы в виде 5n+7m, где n и m – целые числа (m, n >=0). Код есть, программа работает, но выводит дублированные значения. Такого быть не должно. Как можно исхитриться со множеством ещё, чтобы программа выполняла свою работу как надо?
program ononetakrabootaet;
var
  m,n,i,j,a:integer;
  dig:set of 5..100;
 begin
 writeln('Write max n:');
 readln(i);
 Writeln('write max m:');
 readln(j);
 dig:=[5..100];
   for n:=1 to i do
     for m:=1 to j do begin
      a:=5*n+7*m;
       if a in dig then write (a,' ');
      end;
 readln
 end.

Код к задаче: «Некорректно работает программа - Turbo Pascal»

textual
uses crt;
var m,n,a:integer;
    dig:set of 5..100;
begin
clrscr;//раз уж Турбо
dig:=[];
for m:=1 to (100-7) div 5 do
for n:=1 to (100-5) div 7 do
 begin
  a:=5*m+7*n;
  dig:=dig+[a];
 end;
for m:=12 to 100 do
if m in dig then write (m,' ');
readln
end.

14   голосов, оценка 3.929 из 5


СОХРАНИТЬ ССЫЛКУ