I-память
k-количество пикселей
i-вес одного пикселя
N-палитра
---
I=k*i
N=2^i
i=I/k=1.12
округляем до 1
N=2
в палитре два цвета.
<h3>PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ArrRandom(ReadInteger('n='), -50, 50);
a.Println;
var s := a.Partition((v, i) -> i.IsEven);
s[0].Println;
s[1].Println;
end.
<h2>n= 10</h2><h2>24 31 -29 -21 32 23 -17 34 16 -25</h2><h2>24 -29 32 -17 16</h2><h2>31 -21 23 34 -25</h2>
#include <iostream>
#include <set>
#include <iterator>
using namespace std;
int main()
{
string s;
set<char> mySet;
set<char>::iterator it;
int k=0;
cout << "s = ", cin >> s, cout << endl;
for(int i=0;i<s.length();i++)
mySet.insert(s[i]);
for(it=mySet.begin(); it!=mySet.end(); ++it)
cout<<*it<<" ";
k=mySet.size();
cout << endl << "k = " << k;
return 0;
}
Ну, если речь идет о поразрядной импликации -91 в дополнительном коде и 15, то, вроде, правильно.
Но меня вопрос насчет необходимости учета знаковых разрядов. В дополнительном коде они должны быть, а в Вашем решении их нет.
Поэтому было бы хорошо увидеть не только решение, но и само задание.
Здесь достаточно одного условного оператора:
if X>Y then max:=X else max:=Y;