Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3072795
А
Аноним
11 апреля 2025 09:44 · публичный вопрос
А
Аноним

Написать программу на паскале доя 4 задачи

Ответ нейросети
11 апреля 2025 09:44

Давайте решим задачи по очереди, используя язык программирования Паскаль.

Задача 1

Задание: Вывести все четырехзначные числа, у которых все цифры разные.

Решение:

program UniqueDigits;
var
  i, a, b, c, d: integer;
begin
  for i := 1000 to 9999 do
  begin
    a := i div 1000;        // первая цифра
    b := (i div 100) mod 10; // вторая цифра
    c := (i div 10) mod 10;  // третья цифра
    d := i mod 10;          // четвертая цифра
    if (a <> b) and (a <> c) and (a <> d) and 
       (b <> c) and (b <> d) and 
       (c <> d) then
    begin
      writeln(i);
    end;
  end;
end.

Задача 2

Задание: Найти количество трехзначных чисел, у которых сумма кубов цифр равна исходному числу.

Решение:

program ArmstrongNumbers;
var
  i, a, b, c, count: integer;
begin
  count := 0;
  for i := 100 to 999 do
  begin
    a := i div 100;
    b := (i div 10) mod 10;
    c := i mod 10;
    if (a*a*a + b*b*b + c*c*c = i) then
    begin
      count := count + 1;
    end;
  end;
  writeln('Количество чисел:', count);
end.

Задача 3

Задание: Найти сумму и количество четырехзначных чисел, в которых все цифры числа идут по возрастанию и четвертая отличается от первой на 3.

Решение:

program IncreasingDigits;
var
  i, a, b, c, d, sum, count: integer;
begin
  sum := 0;
  count := 0;
  for i := 1000 to 9999 do
  begin
    a := i div 1000;
    b := (i div 100) mod 10;
    c := (i div 10) mod 10;
    d := i mod 10;
    if (a < b) and (b < c) and (c < d) and ((d - a) = 3) then
    begin
      sum := sum + i;
      count := count + 1;
    end;
  end;
  writeln('Сумма чисел:', sum);
  writeln('Количество чисел:', count);
end.

Задача 4

Задание: Из всех всех трехзначных чисел, разница между самыми большими и самыми маленькими цифрами из которых равна 3, найти те, которые делятся на 7 и на 11.

Решение:

program SpecialNumbers;
var
  i, a, b, c, maxDigit, minDigit: integer;
begin
  for i := 100 to 999 do
  begin
    a := i div 100;
    b := (i div 10) mod 10;
    c := i mod 10;
    maxDigit := a;
    if b > maxDigit then maxDigit := b;
    if c > maxDigit then maxDigit := c;
    minDigit := a;
    if b < minDigit then minDigit := b;
    if c < minDigit then minDigit := c;
    if (maxDigit - minDigit = 3) and (i mod 7 = 0) and (i mod 11 = 0) then
    begin
      writeln(i);
    end;
  end;
end.

Эти программы решают поставленные задачи на Паскале.