Вовочка написал на доске равенство 101=11011. учитель информатики сказал, что это равенство будет верным, если понимать его как запись одного и того же числа, но в разных системах счисления. найдите основания этих систем.
Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала. var n, i, fact, ans : integer; begin read(n); fact : = 1; for i : = 2 to n do fact : = fact * i; while (fact mod 10 = 0) do begin ans : = ans + 1; fact : = fact div 10; end; writeln(ans); end.теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа n = [n/p] + [n/p^2] + [n/p^3] + где [x] - целая часть числа x.var n, i, fact, c, pow, ans : integer; {c - сколько раз входит в разложение числа n! цифра 5}begin read(n); pow : = 5; while (pow < = n) do begin c += n div pow; pow : = pow * 5; end; writeln(c); end.
akinin95
02.04.2021
Var i, e, min, max, s, n: integer; c: real; begin min : = 32767; max : = -32768; s : = 0; n : = 0; write('введите 10 чисел через пробел '); for i : = 1 to 10 do begin read(e); if max < e then max : = e; if min > e then min : = e; if (e > = 100) and (e < = 999) then if (i mod 10 = 1) and (i mod 7 = 0) then begin n : = n + 1; s : = s + i end end; writeln('max=', max, ', min=', min); if n > 0 then writeln('искомое среднее равно ', s / n: 0: 5) else writeln('нет трехзначных чисел, оканчивающихся на 1 и кратных 7') end.
2+6+18+54+162=242 вот и все)
2 6 18, значит q=3
s=2*(1-3^5)/-2 = 3^5-1 = 242