В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Valya55555555
Valya55555555
12.04.2020 17:27 •  Информатика

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

Показать ответ
Ответ:
bobbobbobgy1
bobbobbobgy1
06.06.2020 23:02

я сегодня добрый :) Первая задача.

 

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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота