Чтобы перевести десятичное число в 2-чную систему, нужно это число последовательно делить на 2 с остатком. Например, переведём 83.
Делим
83 : 2 = 41 (остаток 1)
41 : 2 = 20 (остаток 1)
20 : 2 = 10 (остаток 0)
10 : 2 = 5 (остаток 0)
5 : 2 = 2 (остаток 1)
2 : 2 = 1 (остаток 0)
Теперь выписываем последний результат деления (у нас это 1) и после него все остатки в обратном порядке: 0 1 0 0 1 1
Получается число 1010011
Проверяем:
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=readinteger('n=');
var mas:=ArrRandom(n,-99,99);
Writeln('количество различных элементов->',mas.Distinct.Count);
end.
вобще меня учитель учил это делать так: