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

C. инверсия 0 имя входного файла стандартный ввод имя выходного файла стандартный вывод ограничение по времени 2 секунды ограничение по памяти 64 мегабайта необходимо реализовать функцию, которая для заданного целого числа меняет порядок цифр в нем на обратный. продемонстрировать работу процедуры на 5 целых числах. формат входных данных с клавиатуры вводятся через пробел 5 целых положительных чисел, не превосходящих 109. формат выходных данных необходимо вывести через пробел 5 чисел — измененные исходные числа. примечания если у нового числа есть ведущие нули — выводить их не нужно. примеры входные данные выходные данные 31 1 294 421 1122 13 1 492 124 2211

👇
Ответ:
Vasiliska555999
Vasiliska555999
06.06.2023
Алгоритм решения

Для каждого числа будем убирать последнюю цифру, пока число не станет нулём. При этом для очередной последней цифры ответ умножаем на 10 и прибавляем к нему эту цифру.

Для одного числа алгоритм будет выглядеть так:

while x > 0:

   ans = ans * 10 + (x mod 10)

   x = x // 10

Где x - заданное число, ans - ответ на задачу (перевёрнутое число), mod - операция получения остатка, // - операция целочисленного деления.

Формально, x mod 10 возвращает последнюю цифру числа x ("остаток от деления x на 10"), а x // 10 возвращает число x без последней цифры ("разделить x на 10 и отбросить остаток").


Решение (Pascal)

var

 x, i, ans: integer;


begin

 for i := 1 to 5 do

 begin

   read(x);

   ans := 0;

   while (x > 0) do

   begin

     ans := ans * 10 + (x mod 10);

     x := x div 10;

   end;

   write(ans, ' ');

 end;

 writeln;

end.

Файл решения прикреплён.

4,7(86 оценок)
Открыть все ответы
Ответ:
zhikinemil26
zhikinemil26
06.06.2023

Задача 1:

var a,b: real;

var c: char;

begin

write('Введите a: ');

readln(a);

write('Введите b: ');

readln(b);

write('Введите нужную операцию (+,-,*,/): ');

readln(c);

if (c='+') then writeln('Результат: ',a+b)

else if (c='-') then writeln('Результат: ',a-b)

else if (c='*') then writeln('Результат: ',a*b)

else if (c='/') then writeln('Результат: ',a/b);

end.

Задача 2:

var a: integer;

begin

write('Введите количество кроликов: ');

readln(a);

write('Количество морковок: ',3*100+a*2);

end.

Задача 3:

var a: integer;

begin

write('Введите число: ');

readln(a);

write('Последняя цифра числа: ',a mod 10);

end.

4,6(96 оценок)
Ответ:
andrey89160
andrey89160
06.06.2023

Задача 1:

var a,b: real;

var c: char;

begin

write('Введите a: ');

readln(a);

write('Введите b: ');

readln(b);

write('Введите нужную операцию (+,-,*,/): ');

readln(c);

if (c='+') then writeln('Результат: ',a+b)

else if (c='-') then writeln('Результат: ',a-b)

else if (c='*') then writeln('Результат: ',a*b)

else if (c='/') then writeln('Результат: ',a/b);

end.

Задача 2:

var a: integer;

begin

write('Введите количество кроликов: ');

readln(a);

write('Количество морковок: ',3*100+a*2);

end.

Задача 3:

var a: integer;

begin

write('Введите число: ');

readln(a);

write('Последняя цифра числа: ',a mod 10);

end.

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