М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Mezhanova16
Mezhanova16
29.05.2022 09:53 •  Информатика

Составить программу поиска первых n чисел, равных сумме кубов своих цифр. программа - паскаль аbc

👇
Ответ:
aliseymur7
aliseymur7
29.05.2022
Var
n, i, s, x: integer;
begin
readln(n); //вводим n
for i:=1 to n do //проверяем каждое число от 1 до n
begin
s:=0; x:=i;
while x > 0 do //находим сумму кубов цифр
begin
s:=s + (x mod 10) * (x mod 10) * (x mod 10);
x:=x div 10;
end;
if s = i then //если сумма кубов равна i выводим i
writeln(i);
end;
end.
4,6(50 оценок)
Открыть все ответы
Ответ:
klemiatoeva
klemiatoeva
29.05.2022

//PascalABC.NET версия 3.4.2.1991 от 03.03.19

//Если программа не запускается, то обновите версию

const

   handsfree = true;

   nmax = 100;

   random_min = -50;

   random_max = 50;

var

   a: array[1..nmax] of real;

   i, n, count: integer;

procedure QuickSort(first, last: Integer);{ Быстрая сортировка массива A[] , использует массив как глобальную переменную}

var

   i, j: integer;

   x, y: real;

begin

   i := first;

   j := last;

   x := a[(first + last) div 2];

   repeat

       while (A[i] < x) do inc(i);

       while (x < A[j]) do dec(j);

       if (i <= j) then

       begin

           y := A[i]; a[i] := a[j]; a[j] := y;

           inc(i); dec(j);

       end;

   until (i > j);

   if (first < j) then QuickSort(first, j);

   if (i < last) then QuickSort(i, last);

end;

begin

   {ввод массива}

   n := nmax;

   if handsfree then begin

       n := random(nmax - 5) + 5;

       for i := 1 to n do

       begin

           a[i] := random(random_max - random_min) + random_min;

           write(a[i], ' ');

       end

   end

   else begin

       write('n = ');

       readln(n);

       for i := 1 to n do

           readln(a[i]);

   end;

   writeln();

   

   QuickSort(1, n);

   

   {вывод массива}

   writeln('Вывод массива[', n, ']:');

   for i := 1 to n do

       write(a[i], ' ');

   writeln();

   

   {подсчет разных}

   count := 1; {первый элемент точно разный}

   for i := 2 to n do

       if a[i] <> a[i - 1] then

           count := count + 1;

   writeln('Разных элементов = ', count);

end.

4,5(70 оценок)
Ответ:
BaBaika322
BaBaika322
29.05.2022

//PascalABC.NET версия 3.4.2.1991 от 03.03.19

//Если программа не запускается, то обновите версию

const

   handsfree = true;

   nmax = 100;

   random_min = -50;

   random_max = 50;

var

   a: array[1..nmax] of real;

   i, n, count: integer;

procedure QuickSort(first, last: Integer);{ Быстрая сортировка массива A[] , использует массив как глобальную переменную}

var

   i, j: integer;

   x, y: real;

begin

   i := first;

   j := last;

   x := a[(first + last) div 2];

   repeat

       while (A[i] < x) do inc(i);

       while (x < A[j]) do dec(j);

       if (i <= j) then

       begin

           y := A[i]; a[i] := a[j]; a[j] := y;

           inc(i); dec(j);

       end;

   until (i > j);

   if (first < j) then QuickSort(first, j);

   if (i < last) then QuickSort(i, last);

end;

begin

   {ввод массива}

   n := nmax;

   if handsfree then begin

       n := random(nmax - 5) + 5;

       for i := 1 to n do

       begin

           a[i] := random(random_max - random_min) + random_min;

           write(a[i], ' ');

       end

   end

   else begin

       write('n = ');

       readln(n);

       for i := 1 to n do

           readln(a[i]);

   end;

   writeln();

   

   QuickSort(1, n);

   

   {вывод массива}

   writeln('Вывод массива[', n, ']:');

   for i := 1 to n do

       write(a[i], ' ');

   writeln();

   

   {подсчет разных}

   count := 1; {первый элемент точно разный}

   for i := 2 to n do

       if a[i] <> a[i - 1] then

           count := count + 1;

   writeln('Разных элементов = ', count);

end.

4,7(66 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ