количество цветов в палитре определяется формулой хартли:
n=2^i (где n - количество цветов, i - "вес" 1 px в битах).
1. найдем количество пикселей в изображении: 256*256=2^8 * 2^8 = 2^16 px
2. определим "вес" всех рх, переведя кб в биты: 8*2^13 (бит) = 2^3 * 2^13 = 2^16 (бит)
3. разделим "вес" всего изображения на количество рх (то есть найдем "вес" 1 рх в битах): 1 рх = 2^16 / 2^16 = 1 бит
4. следовательно (см. начало), количество цветов n=2^1=2 (т.е. изображение двухцветное, скорее всего - ч/б.
program ;
var
i, a: longint;
x,
u, j,
n, m : longint;
function fdiv (a, left : longint) : longint;
var
d,
i : longint;
begin
d : = 1;
for i : = left to trunc (sqrt (a)) do
if (a mod i = 0)
then
begin
d : = i;
break;
end;
if (d < > 1)
then
fdiv : = d
else
fdiv : = a;
end;
function g (n, u : longint) : longint;
var
i : longint;
begin
i : = 0;
while (n mod u = 0)
do
begin
inc (i);
n : = n div u;
end;
g : = i;
end;
begin
assign (input, 'input.txt');
assign (output, 'output.txt');
reset (input);
read (a);
close (input);
m : = 0;
n : = 1;
i : = fdiv (a, 2);
u : = 2;
while (a > 1)
do
begin
n : = n * i;
j : = 0;
while (a mod i = 0)
do
begin
inc (j);
a : = a div i;
end;
if (j > m)
then
begin
m : = j;
u : = i;
end;
i : = fdiv (a, i + 2);
end;
x : = 1;
while (g (n * x, u) * n * x < m)
do
inc (x);
n : = n * x;
rewrite (output);
write (n);
close (output);
end.