В основу решения возьму тот факт, что точка лежит внутри треугольника только в том случае, если сумма площадей трех образованных этой точкой и вершинами треугольников треугольников равна площади самого треугольника. Для нахождения площади треугольников использую формулу векторного произведения, деленного пополам.
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
49/6=8 |1 8/6 = 1 |2 1/6=0 |1
121(6)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Информатика 9 класс. Делал информатику в программе паскаль , подскажите , где сделал ошибку. Очень
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main() {
int x1, y1, x2, y2, x3, y3, x0, y0;
scanf("%d%d%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3, &x0, &y0);
if (abs((x1 - x0) * (y2 - y0) - (x2 - x0) * (y1 - y0)) +
abs((x1 - x3) * (y0 - y3) - (x0 - x3) * (y1 - y3)) +
abs((x0 - x3) * (y2 - y3) - (x2 - x3) * (y0 - y3)) ==
abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)))
{
printf("YES");
} else {
printf("NO");
}
return 0;
}