Юля5451
23.05.2023 13:42

Напишите программу в Паскале, которая переводит переданное её целое число (возможно, отрицательное) в восьмеричный код. Используйте процедуру. Входные данные
Входная строка содержит целое число N .

Выходные данные
Программа должна вывести восьмеричное представление переданного её числа.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kirill885
13.02.2020 16:47

Вот тебе в паскале


program ryad_chisel;

var N, t:integer;

begin

read(N);

t:=(N*(N+1))div 2;

if t mod 2 =1 then writeln('IMPOSSIBLE')

else begin

     if N mod 2 =0 then begin

                        t:=N div 4;

                        repeat

                        write('+');

                        t:=t-1;

                        until t=0;

                        t:=N div 2;

                        repeat

                        write('-');

                        t:=t-1;

                        until t=0;

                        t:=N div 4;

                        repeat

                        write('+');

                        t:=t-1;

                        until t=0;

                        end

     else begin

          t:=((N+1) div 4)-1;

          repeat

          write('+');

          t:=t-1;

          until t=0;

          t:=((N-1) div 2)+1;

          repeat

          write('-');

          t:=t-1;

          until t=0;

          t:=(N+1) div 4;

          repeat

          write('+');

          t:=t-1;

          until t=0;

          end

     end    

end.

0,0(0 оценок)
Ответ:
Ирина29403
05.03.2020 01:02
Вообще то, это задача чисто математическая.  Пусть есть трехзначное число abc.
По условию:

   abc
+ abc

   bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос  ->  получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13   из этих двух уравнений  ->   7a = 42  ->  a = 6  -> из третьего уравнения  b = 13
13 = D(16),   из первого уравнения  с = 22/2 = 11(10) = B(16)
->  abc(16) = 6DB(16) = 1755(10),     DB6(16) = 3510(10)   -> 2abc = bca
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота