Задача, состав те программу в паскале! 1)Дано трехзначное число. Определить количество всех различных трехзначных чисел, которые можно составить из цифр этого числа. 2) Даны три числа. Подсчитать количество четных чисел . Заранее спасибо !

Есть ответ
18.12.2022
430

Ответ


Пожалуйста, я сегодня добрый :) Первая задача.

 

var  s, mn: set of integer;  f: boolean;  k, n, c, i, j, kol: integer;begin  writeln('Введите трехзначное число:');  repeat readln(n) until n in [100..999]; // защита от "дурака"  k := n;    // записываем число, чтобы вывести на результат    while n 0 do   begin           // пока число не станет равно нулю...    c := n mod 10;   // последняя цифра числа    include(s, c);   // вносим эту цифру в множество    n := n div 10    // у числа отсекаем рассмотренную цифру  end;    for i := 100 to 999 do   begin    // рассматриваем все трехзначные числа    mn := s; j := i; f := true;  // все обнуляем    while j 0 do     begin    // пока рассматриваемое число не будет равно нулю      c := j mod 10;    // последняя цифра числа      if c in mn then exclude(mn, c) else f := false;    // если число во множестве, то убираем его оттуда, чтобы избежать повторений, иначе - не рассматриваем его.      j := j div 10;    // у числа отсекаем рассмотренную цифру    end;    if f then begin inc(kol); write(i:6) end    // если проверка прошла успешно, то выводим число на экран и прибавляем значение переменной-счетчика!  end;      writeln; writeln('Из ', k, ' можно составить ', kol, ' чисел!');   // выводим результат  readln;end.

 

==========================================================

А вот вторая, комменты к ней писать было уже лень:

 

var  k, i, n, kol: integer;begin  writeln('Количество трехзначных чисел, которые вы далее введете?');  repeat readln(k) until k in [1..10];  for i := 1 to k do   begin    writeln('Введите ', i, ' трехзначное число:');    repeat readln(n) until n in [100..999];    while n 0 do     begin      if ((n mod 10) mod 2 = 0) then inc(kol);      n := n div 10;    end;  end;  writeln('Количество четных чисел = ',kol);  readln  end.


Если вы нашли правильное решение, вы можете поблагодарить нас начиная с 10 рублей.
Просто нажмите на кнопку "Подарить".
18.12.2022
Этот сайт использует cookies (Политика Cookies). Вы можете указать условия хранения и доступ к cookies в своем браузере.