Оля, Вика и Таня получили оценки по контрольной. Каждая из девочек высказала предположения:
Оля: контрольная была по географии, её писали 17.04..
Вика: контрольная была по физике, её писали 14.04..
Таня: данная контрольная не по географии, её писали 10.04..
Классный руководитель сказал, что каждая из них права только в одном из двух предположений. Какая контрольная и когда её писали?
по истории
по физике
по химии
по биологии
по географии
10.04.
17.04.
14.04.
ответ:Сначала приведу примеры степеней в нашей, десятичной системе:
То есть, если возводить основание системы в какую то целую степень, то число нулей равно показателю этой степени.
Так вот, в других системах так же. Например, если возводить 5 в какую то степень, то в пятеричной системе это число будет выглядеть как единица с числом нулей, равным показателю степени:
Приведём все слагаемые в этом выражении к виду степени с основанием 5:
Далее, представим как они выглядят в пятеричном виде (начнём с самого большого слагаемого):
(всего 216 нулей)
(всего 188 нулей)
(всего 3 нуля)
Если сложить в пятеричном виде первые два числа, то мы получим число, которое выглядит так:
10000100000...00000 (пятеричное)
(сначала идёт единица, затем 216-188-1=27 нулей, далее единица, далее 188 нулей)
Если теперь из этого вычесть то получим вот что:
10000044444...44000 (пятеричное)
(сначала идёт единица, затем 27+1=28 нулей, далее 188-3=185 четвёрок, далее 3 нуля)
Вот мы и получили ответ на вопрос в этой задаче- четвёрок тут ровно 185 штук.
Почему там появились четвёрки? Опять приведу примеры из десятичной системы:
А в пятеричной- то же самое, но будут четвёрки:
(ведь тут пять цифр- от 0 до 4, а после 4 идёт уже 10)
Теперь, пример посложнее в десятичной системе:
(то есть, произошло последовательное заимствование единицы из следующих разрядов, пока не дошло до разряда, в котором не было нуля)
А вот, то же самое, но в пятеричной системе:
Объяснение:
//1
#include <iostream>
using namespace std;
signed main() {
int N, pr = 1;
cin >> N;
N = abs(N);
if ((N % 10 * (N / 10) % 10 * N / 100) > 10 and (N % 10 * (N / 10) % 10 * N / 100) < 100)
cout << "YES";
else
cout << "NO";
return 0;
}
//2
#include <iostream>
using namespace std;
signed main() {
setlocale(LC_ALL, "Rus");
int N;
cin >> N;
N = abs(N);
while (N > 0) {
if ((N % 10) % 2 == 0)
cout << N % 10 << " - четное\n";
else
cout << N % 10 << " - нечетное\n";
N /= 10;
}
return 0;
}
//3
#include <iostream>
using namespace std;
signed main() {
setlocale(LC_ALL, "Rus");
int a, b;
cin >> a >> b;
if (a % b == 0)
cout << "Число " << a << " делится без остатка на число " << b;
else
cout << "Число " << a << " не делится без остатка на число " << b;
return 0;
}