0 1 2 3 4 5 10 11 12 13 14
_____________
<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function nDigits(n:int64):integer; // если число
begin
Result:=0;
if n<0 then n:=-n;
while n>0 do begin
Result+=1;
n:=n div 10
end
end;
function nDigits(s:string):=s.Length; // если строка
begin
Writeln(nDigits(1234567890123456)); // 16
Writeln(nDigits('123456789012345678901234567890')) // 30
end.
<u>Результат</u>
16
30
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var k:= ReadInteger('k =');
var (a,b) :=(1,1);
for var i := 3 to k do
(a,b):= (b,a+b);
Writeln('a) ', b);
(a,b) :=(1,1);
var sum:= 2;
var n:= ReadInteger('n =');
Write('б) 1, 1');
for var i:= 3 to n do
begin
(a,b):= (b,a+b);
Write(', ', b);
sum+= b;
end;
Writeln;
Writeln('в) ', sum.IsEven?'YES':'NO');
end.
91
- в двоичную
<span>Делим число на 2 и выписываем остатки</span>
<span>91 = 45·2 + </span>1
<span>45 = 22·2 + </span>1
<span>22 = 11·2 + </span>0
<span>11 = 5·2 + </span>1
<span>5 = 2·2 + </span>1
<span>2 = 1·2 + </span>0
<span>Последний множитель перед 2 равный </span>1<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>1011011
- в восьмеричную
<span>Делим число на 8 и выписываем остатки</span>
<span>91 = 11·8 + </span>3
<span>11 = 1·8 + </span>3
<span>Последний множитель перед 8 равный </span>1<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>133
- в шестнадцатиричную
<span>Делим число на 16 и выписываем остатки</span>
<span>91 = 5·16 + </span>11<span> (11 записывается как </span>B<span>)</span>
<span>Последний множитель перед 16 равный </span>5<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>5B
52
- в двоичную
<span>Делим число на 2 и выписываем остатки</span>
<span>52 = 26·2 + </span>0
<span>26 = 13·2 + </span>0
<span>13 = 6·2 + </span>1
<span>6 = 3·2 + </span>0
<span>3 = 1·2 + </span>1
<span>Последний множитель перед 2 равный </span>1<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>110100
- в восьмеричную
<span>Делим число на 8 и выписываем остатки</span>
<span>52 = 6·8 + </span>4
<span>Последний множитель перед 8 равный </span>6<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>64
- в шестнадцатиричную
<span>Делим число на 16 и выписываем остатки</span>
<span>52 = 3·16 + </span>4
<span>Последний множитель перед 16 равный </span>3<span> записываем первым.</span>
<span>Затем записываем найденные остатки в обратном порядке.</span>
<span>Получаем: </span>34