Найти сумму цифр целого числа и записать полученное значение в двоичной системе - PascalABC.NET (251406)
Формулировка задачи:
Найти сумму цифр целого числа и записать полученное значение в двоичной системе
Решение задачи: «Найти сумму цифр целого числа и записать полученное значение в двоичной системе»
textual
Листинг программы
var a, Sum: integer; begin read(a); Sum := 0; while a <> 0 do begin Sum += a mod 10; a := a div 10; end; a := 1; while a * 2 <= Sum do a *= 2; while a <> 0 do begin if Sum >= a then begin write(1); Sum -= a; end else write(0); a := a div 2; end; end.
Объяснение кода листинга программы
- Переменная
a
инициализируется значением, которое считывается из стандартного ввода. - Переменная
Sum
инициализируется значением 0. - В цикле while происходит считывание числа и подсчет суммы его цифр.
- Переменная
a
делится на 10 и остаток от деления добавляется к переменнойSum
. - Цикл while выполняется до тех пор, пока число
a
не станет равным 0. - Переменная
Sum
присваивается значение 1. - В цикле while происходит деление переменной
Sum
на 2 до тех пор, пока результат не станет меньше или равным 1. - В цикле while происходит проверка, является ли значение переменной
Sum
больше или равным значению переменнойa
. Если это так, то записывается 1, и значение переменнойSum
уменьшается на значение переменнойa
. - Если значение переменной
Sum
меньше значения переменнойa
, то записывается 0. - Значение переменной
a
делится на 2. - Цикл while повторяется до тех пор, пока значение переменной
a
не станет равным 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д