Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer; b:array [1..10] of longint; c:integer; i,max,n:longint; begin write('Введите число элементов массива: '); readln(n); max:=0; for i:=1 to 10 do b[i]:=0; for i:=1 to n do begin a[i]:=random(10)+1; write(a[i],' '); b[a[i]]:=b[a[i]]+1 end; for i:=1 to 10 do if b[i]>max then begin c:=i; max:=b[i] end; writeln; writeln('Чаще всего в массиве встречается число ',c) end.
Ну давайте вместе решим. Что такое 8? Это 2 в 3 степени. Тогда что такое 8^4024? Это (2^3)^4024 или 2^12072
4^1605 аналогично 2^3210.
Ну и 2^1024
126 в бинарной системе это 0111 1110
Теперь попробуем это вместе сложить.
Если призадуматься, то 2^N это значит в бинарной записи на N-той позиции стоит единица.
Значит 2^12072 это 1 и 12071 нулей
Далее у нас отнимается 2^3210. В оригинальном числе на этом позиции 0, значит нам следует занять числа и в итоге получается что у нас с 12070 позиции по 3210 будет стоять единицы.
Далее добавляется одна единица на 1024ой позиции.
На данный момент у нас 8861 единиц.
Чтобы отнять 126 нам надо будет срезать одну единицу на 1024ой позиции чтобы занять в меньшие биты. Однако, с 1023 по 1 позицию у нас будут стоять единицы.
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.
9877
Объяснение:
Ну давайте вместе решим. Что такое 8? Это 2 в 3 степени. Тогда что такое 8^4024? Это (2^3)^4024 или 2^12072
4^1605 аналогично 2^3210.
Ну и 2^1024
126 в бинарной системе это 0111 1110
Теперь попробуем это вместе сложить.
Если призадуматься, то 2^N это значит в бинарной записи на N-той позиции стоит единица.
Значит 2^12072 это 1 и 12071 нулей
Далее у нас отнимается 2^3210. В оригинальном числе на этом позиции 0, значит нам следует занять числа и в итоге получается что у нас с 12070 позиции по 3210 будет стоять единицы.
Далее добавляется одна единица на 1024ой позиции.
На данный момент у нас 8861 единиц.
Чтобы отнять 126 нам надо будет срезать одну единицу на 1024ой позиции чтобы занять в меньшие биты. Однако, с 1023 по 1 позицию у нас будут стоять единицы.
8861 - 1 + 1023 = 9883
Однако 126 имел единицы в количестве 6 штук.
9883 - 6 = 9877
ответ 9877