a = 1
n = 4 #odd
b = 3 #even
while a != -1:
a = int(input("Insert number:"))
if a == -1:
break
if > b
b += 1
if a > n
n += 1
print(odd)
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 Delitel;
var
n, i, j, c, d: Integer;
a: array of Integer;
begin
Write ('Введите N: ');
ReadLn (n);
SetLength (a, n + 1);
for i := 1 to n do begin
c := 0;
for j := 1 to i do begin
if i mod j = 0 then
Inc (c);
end;
a [i] := c;
end;
c := 1;
for i := 1 to n do begin
if a [i] > a [c] then
c := i;
end;
WriteLn ('Число ', c, ' имеет ', a [c], ' делителей.');
ReadLn;
end.
4) — точно; 1) — не уверена, но кажется да
1000110010 в двоичной системе.