//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) const m = 10;
var t: array[1..m] of integer; i, n, nm, sm: integer;
begin //Заполняем массив сл.числами и подсчитываем //количество элементов и среднее арифметическое //согласно условию задачи for i := 1 to m do begin t[i] := random(-20, 20);write(t[i]:4); if (i > 1) and (i <= m) then if t[i] > t[i - 1] then n := n + 1 else if t[i] < t[i - 1] then begin sm := sm + t[i];nm := nm + 1; end; end; writeln; writeln('число элементов больших предыдущего = ', n); writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
Подставляем 5 в основание системы счисления и проверяем результат.
74/5=14 остаток 4
14/5=2 остаток 4
2/5=0 остаток 2
Десятичное число 27 в пятиричной системе счисления записывается как 244. Следовательно A=5
Как решать подобные задачи.
1.
Согласно правилу перевода десятичного числа M в A-ричную систему, в последний разряд A-ричного числа записывается остаток от M/A. То есть M mod A = R, где R – значение последнего разряда A-ричного числа. Вспоминаем что остаток всегда меньше делителя, поэтому A>=R+1. В рассматриваемой задаче A>=5.
Определение нижней границы значения A, позволяет сузить поиск. В рассматриваемой задаче мы с первого раза вышли на верное значение, но так бывает не всегда.
2.
Представим число M в следующем виде: M=A*B+R, где A - основание системы счисления, а R – остаток. В рассматриваемой задаче эта запись приобретает следующий вид: 74=A*B+4 или 70=A*B. То есть необходимо найти такие целые числа, чтобы их произведение равнялось 70.
Рассмотрим варианты A*B.
1*70
2*35
5*14
7*10
В первом пункте мы выяснили, что A>=5, поэтому первые два варианта отпадают. Остаются варианты 5*14 и 7*10.
Проверив истинность высказываний 74 mod 5 = 4 и 74 mod 7 = 4, убеждаемся, что A=5.
3.
Зная разрядность, также можно производить вычисления.
Обозначим разрядность через N.
N= [L]+1 , где L – значение логарифма от M по основанию A. Квадратные скобки – обозначают целое значение.
В рассматриваемой задаче, число M в A-ричной системе счисления трехзначное. То есть N=3.
3=[L]+1
[L]=2
Для проверки разрядности значения A*B в системе счисления A, следует проверить истинность выражения N= [L]+1.
В рассматриваемой задаче, это условие соблюдается только когда A принимает значения 5, 6, 7 или 8. Только при таких значениях A, число M в A-ричной системе счисления A будет трехзначным.
Числа 6 и 8 не подходят, поскольку второй множитель B также должен быть целочисленным.
Остаются числа 5 и 7.
Проведя проверку на остаток от деления 74 mod 5 = 4 и 74 mod 7 = 4, получаем искомое значение A=5.
const
m = 10;
var
t: array[1..m] of integer;
i, n, nm, sm: integer;
begin
//Заполняем массив сл.числами и подсчитываем
//количество элементов и среднее арифметическое
//согласно условию задачи
for i := 1 to m do
begin
t[i] := random(-20, 20);write(t[i]:4);
if (i > 1) and (i <= m) then
if t[i] > t[i - 1] then n := n + 1
else if t[i] < t[i - 1] then begin
sm := sm + t[i];nm := nm + 1;
end;
end;
writeln;
writeln('число элементов больших предыдущего = ', n);
writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
end.
Тестовое решение:
6 13 19 8 -19 -11 -20 -15 -19 -13
число элементов, больших предыдущего = 5
среднее арифметическое элементов, меньших предыдущего = -12.5
A=5
Объяснение:
74 mod A = 4
Остаток меньше делителя, поэтому A>=5
Подставляем 5 в основание системы счисления и проверяем результат.
74/5=14 остаток 4
14/5=2 остаток 4
2/5=0 остаток 2
Десятичное число 27 в пятиричной системе счисления записывается как 244. Следовательно A=5
Как решать подобные задачи.
1.
Согласно правилу перевода десятичного числа M в A-ричную систему, в последний разряд A-ричного числа записывается остаток от M/A. То есть M mod A = R, где R – значение последнего разряда A-ричного числа. Вспоминаем что остаток всегда меньше делителя, поэтому A>=R+1. В рассматриваемой задаче A>=5.
Определение нижней границы значения A, позволяет сузить поиск. В рассматриваемой задаче мы с первого раза вышли на верное значение, но так бывает не всегда.
2.
Представим число M в следующем виде: M=A*B+R, где A - основание системы счисления, а R – остаток. В рассматриваемой задаче эта запись приобретает следующий вид: 74=A*B+4 или 70=A*B. То есть необходимо найти такие целые числа, чтобы их произведение равнялось 70.
Рассмотрим варианты A*B.
1*70
2*35
5*14
7*10
В первом пункте мы выяснили, что A>=5, поэтому первые два варианта отпадают. Остаются варианты 5*14 и 7*10.
Проверив истинность высказываний 74 mod 5 = 4 и 74 mod 7 = 4, убеждаемся, что A=5.
3.
Зная разрядность, также можно производить вычисления.
Обозначим разрядность через N.
N= [L]+1 , где L – значение логарифма от M по основанию A. Квадратные скобки – обозначают целое значение.
В рассматриваемой задаче, число M в A-ричной системе счисления трехзначное. То есть N=3.
3=[L]+1
[L]=2
Для проверки разрядности значения A*B в системе счисления A, следует проверить истинность выражения N= [L]+1.
В рассматриваемой задаче, это условие соблюдается только когда A принимает значения 5, 6, 7 или 8. Только при таких значениях A, число M в A-ричной системе счисления A будет трехзначным.
Числа 6 и 8 не подходят, поскольку второй множитель B также должен быть целочисленным.
Остаются числа 5 и 7.
Проведя проверку на остаток от деления 74 mod 5 = 4 и 74 mod 7 = 4, получаем искомое значение A=5.