Задать вопрос
20 октября, 20:06

Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;

Var N, St : LongInt;

Begin

Write ('Введите натуральное число: ') ;

ReadLn (N) ;

St : = 1;

While N Div St 0 Do

If Not Odd (N Mod (St * 10) Div St)

Then N : = N Div (St * 10) * St + N Mod St

Else St : = St * 10;

WriteLn ('Ответ: ', N) ;

End.

Задать натуральное число N и указать, каким оно станет после преобразования.

+1
Ответы (1)
  1. 20 октября, 20:33
    0
    Программа для введённого с клавиатуры числа N выводит число, составленное из нечётных цифр десятичной записи числа N. Если в записи N нет ни одной нечётной цифры, выводится 0. Если N < 0, выводится что-то жуткое.

    St - в любой момент степень 10, пусть St = 10^k. Тогда N Mod (St * 10) Div St получает (k + 1) - ую цифру справа в десятичной записи числа N. Затем, если она чётная, то вместо N рассматривается число N Div (St * 10) * St + N Mod St - число, получаемое из N вычитанием (k + 1) - й цифры. Если нечетное - берется следующее k.

    Например, для N = 1234567 будет выведено "Ответ: 1357", а для N = 24680 будет выведено "Ответ: 0".
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Точно и четко сформулировать условие задачи, которая решается в данной программе: Program Kr_2_3; Var N, St : LongInt; Begin Write ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Uses crt; var n, s, s1, s2, k:integer; begin writeln ('Введите число: ') ; readln (n) ; s:=0; s1:=0; s2:=0; while n>0 do begin inc (k) ; if k mod 2 = 0 then begin s:=s+n mod 10; n:=n div 10; end else begin s1:=s1+n mod 10; n:=n div 10; end;
Ответы (1)
Определить значение выражения: 1) 10 div 15 2) 10 div 2 3) 10 mod 2 4) 10 mod 17 5) 123 mod 10 6) 123 div 10 7) 1 div 2 8) 123 mod 1000 9) 100 mod 27 div 3 10) 100 div 5 mod 3 11) 98725 div 1000 mod 10 12) 100 mod 5 div 3
Ответы (1)
Выдаёт ошибку: операнды имеют неприводимые типы. Где я ошиблась? (Программа написана на языке Pascal ABC) Program Home; Uses CRT; Var a: integer; b: real; Begin WriteLn ('Введите еденицу измереня: килограмм, миллиграмм, грамм, тонна, центнер') ;
Ответы (1)
Найдите ошибку в программе Pascal Задание: Дано:a, b, c, d. Найти: среднее значение чисел принадлежащих интервалу (1; 30) и кратных 3.
Ответы (1)
Program a2; var n, i, min, max, x:integer; begin Writeln ('Введите колицество человек в классе:') ; Readln (n) ; Writeln ('Введите рост 1 ученика:') ; readln (x) ; min:=x; max:=x; for i:=2 to n do begin Writeln ('Введите рост ', i,' ученика:') ;
Ответы (1)