C++
#include <iostream>
using namespace std;
int main()
{
unsigned n;
cin >> n;
cout << n << " - '" << (char)n << "'" << endl;
return 0;
}
//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)
begin
var a:=ReadInteger;
Println(a>0?a*a:a*a*a*a);
end.
344₅ + 1 = 400₅
В пятиричной системе 4 - старшая цифра, после добавления +1 следует сброс разряда в 0 перенос +1 в старший разряд.
1985/2 = 992 (остаток 1)
992/2 = 496 (0)
496/2 = 248 (0)
248/2 = 124 (0)
124/2 = 62 (0)
62/2 = 31 (0)
31/2 = 15 (1)
15/2 = 7 (1)
7/2 = 3 (1)
3/2 = 1 (1)
Записываем в обратном порядке.
11111000001(2)
А -1985 нужно инвертировать полученный результат и дописать единицу в конце.
Ответ:
program SubStrings;
uses
SysUtils, StrUtils;
var
s, w: AnsiString;
i, iw, iMax: Integer;
setN: Set Of Char;
begin
setN := ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-'];
Write ('Введите строку: ');
ReadLn (s);
w := '';
iMax := 0;
WriteLn;
for i := 1 to Length (s) do begin
if w = '' then begin
if s [i] in setN then begin
w := w + s [i];
end
end else begin
if s [i] in setN then begin
w := w + s [i];
end else begin
iw := StrToInt (w);
Write (iw, ' '); // для вывода "очищенной" строки, нужно при проверке
if iw > iMax then
iMax := iw;
w := '';
end;
end;
end;
WriteLn;
WriteLn ('Максимальное число = ', iMax);
ReadLn;
end.