Составить программу в паскале с использованием циклических операторов: три приятеля...

0 голосов
29 просмотров

Составить программу в паскале с использованием циклических операторов:

три приятеля математика были свидетелями дорожного происшествия. Номер машины(четырехзначный) ни один из них не запомнил. Однако один заметил,что этот номер делиться на 2,7 и 11; другой заметил, что в номере учавствуют только две цифры, а третий заметил,что сумма цифр равна 30 . Какой номер автомобиля?


Информатика (18 баллов) | 29 просмотров
Дан 1 ответ
0 голосов
function colcifr(a: integer): integer;
var
  s, k: string;
  i, j: integer;
begin
  i := a;
  repeat
    str(i mod 10, k);
    i := i div 10;
    if (pos(k, s) = 0) then
    begin
      s := concat(s, k);
      inc(j);
    end;
  until (i = 0);
  colcifr := j;
end;

function sum(i: integer): integer;
var
  a, b: integer;
begin
  a := i;
  repeat
    b := b + a mod 10;
    a := a div 10;
  until (a = 0);
  sum := b;
end;

var
  i: integer;

begin
  for i := 1000 to 9999 do
    if (i mod 2 + i mod 7 + i mod 11 = 0) then
      if (colcifr(i) = 2) then
        if (sum(i) = 30) then
          writeln(i);
end.

8778
(16.9k баллов)