Прочитав текст, можно легко понять, что проще всего "зацепиться" за его фрагмент "я учился на 12 и 11". Кроме того, нигде не встречается цифр, больших двойки, следовательно основание системы р может быть 3 и более. Допустим, что система оценок была пятибалльной. Пусть p=3, тогда 12(3)=3+2=5, 11(3)=4 и это похоже на реальные числа. При р=4 получаем 12(4)=6 и это уже нарушает наше допущение о пятибалльной системе. Но посмотрим, что даст предположение р=3. 12(3) лет - это 5. 122 года - это 3²+2×3+2 = 17 лет - нормальный возраст для поступления в вуз. 21(3) год - это 3×2+1 = 7 лет - вполне допустимый срок для начала преподавания. 220(3) лет = 2×3²+2×3 = 24 года - путешествие было не коротким... 10011(3) лет = 3⁴+3+1 = 85 лет - вполне почтенный возраст.
{Attention! Это самое отвратное моё решение на Знаниях. Запаситесь валерьянкой перед прочтением кода} //Pascal ABC.NET 3.1 сборка 1219
Type ty=record valu:integer; count:integer; end;
Const n=3;
Var ma:array[1..n,1..n] of integer; tyar:array of ty; se:set of integer; i,j,z,k,MaxCount:integer; begin randomize; se:=[]; k:=0; MaxCount:=integer.MinValue; writeln('Matrix:'); for i:=1 to n do begin for j:=1 to n do begin ma[i,j]:=random(-10,10); write(ma[i,j]:4); if not(ma[i,j] in se) then begin inc(k); setlength(tyar,k+1); tyar[k].valu:=ma[i,j]; tyar[k].count:=1; se:=se+[ma[i,j]]; end else for z:=1 to k do {O(n^3) в худшем случае - нормальные люди ненавидят это} if tyar[z].valu=ma[i,j] then begin inc(tyar[z].count); break; end; end; writeln; end; for i:=1 to k do if MaxCount<tyar[i].count then MaxCount:=tyar[i].count; writeln('Res:'); for i:=1 to k do if tyar[i].count=MaxCount then writeln(tyar[i].valu); end.
Пример работы программы: Matrix: -7 -2 10 8 0 -2 6 10 1 Res: -2 10
«Компьютерная» технология —
Много места для хранения.
Лёгкость копирования.
Экономия за счёт многократного использования недорогих электронных носителей информации.