В этой статье приведены решения задач на принадлежность точки области, ограниченной прямыми и окружностью, а также программное представление теоремы Лагранжа и связанной с ней задачей нахождения суммы квадратов или кубов натурального числа.
Принадлежит ли точка области.
Картинка с сайта www.1543.su
Нужно написать программу, которая выводит слово «YES», если заданная точка принадлежит закрашенным областям, включая границы, или выведет слово «NO», если не принадлежит.
Задачу нужно разбить на две части:
1. принадлежит ли точка окружности;
2. точка находится выше или ниже прямой.
Точка принадлежит окружности, если эта точка находится на расстоянии не большем, чем радиус окружности. На рисунке видно, что радиус равен
2, а центр окружности имеет координаты X: -1 и Y: 1. Радиус является гипотенузой прямоугольного треугольника и по теореме Пифагора можно вывести такое условие вхождения точки внутрь окружности:
abs ( xn + 1 )** 2 + abs ( yn — 1 )** 2 4
Консультация к письменному ГОС по математике, аналитическая геометрия, Глухов И.В.
Теперь нужно найти линейные функции прямых. Решив систему уравнений получаем две функции прямых:
Значит если x + y >= 0, то точка находится выше первой прямой или принадлежит ей, а если y — 2*x >= 2, то точка находится выше второй прямой или принадлежит ей. Зная эти условия, пишем программу:
def IsPointInArea( xn, yn ):
. return ( yn — 2 * xn >= 2 and xn + yn >= 0 and abs ( xn + 1 )** 2 +
. abs ( yn — 1 )** 2 4 )
. abs ( yn — 1 ) ** 2 >= 4 )
x1 = float ( input ())
y1 = float ( input ())
if IsPointInArea ( x1, y1 ):
. print (‘YES’)
. print (‘NO’)
Теорема Лагранжа.
Теорема Лагранжа о сумме четырёх квадратов гласит:
«Всякое натуральное число можно представить в виде суммы четырёх квадратов целых чисел.»
Нужно сделать программу, которая по заданному числу «n», выведет от 1 до 4 натуральных чисел, квадраты которых дают в сумме данное число.
def lagrange( x, pow, q ):
. b = int ( x ** ( 1 / pow ))
. if x — b ** pow == 0 :
. return str ( b )
. if q == 1 :
. while lagrange ( x — b ** pow, pow, q — 1 ) == 0 :
. b -= 1
. return str ( b ) + ‘ ‘ + lagrange ( x — b ** pow, pow, q — 1 )
n = int ( input ())
print ( lagrange ( n, 2, 4 ))
В функцию lagrange в качестве входных параметров подается число «n», для которого ищутся квадраты, степень 2, то есть квадрат и количество этих самых квадратов, в данном случае 4.
В цикле while рекурсивно запускается таже функция lagrange , на вход которой подаются число, из которого вычитается квадрат x — b ** pow, степень и число квадратов, уменьшенное на единицу q — 1. Напомню, что число, возведенное в степень 1/2 равно квадратному корню от этого числа.
Сумма кубов.
На основании предыдущей программы не сложно решить другую задачу.
«Напишите программу, которая по заданному числу «n», выведет от 1 до 7 натуральных чисел, кубы которых дают в сумме данное число.»
Определить, принадлежит ли точка с заданными координатами графику функции
def lagrange( x, pow, q ):
. b = int ( x ** ( 1 / pow ))
. if x — b ** pow == 0 :
. return str ( b ** pow )
. if q == 1 :
. while lagrange ( x — b ** pow, pow, q — 1 ) == 0 :
. b -= 1
. return str ( b ** pow ) + ‘ ‘ + lagrange ( x — b ** pow, pow, q — 1 )
n = int ( input ())
print ( lagrange ( n, 3, 7 ))
В функцию lagrange в качестве входных параметров подается число «n», для которого ищутся кубы, степень 3, то есть куб и количество этих самых кубов, в данном случае 7.
Минимальный делитель числа.
Как найти минимальный делитель числа? Если число «n» не имеет делителя, которое не превосходит корня из этого «n», то значит, что число «n» простое, тогда ответом является само число n. У составных чисел всегда есть делители, не равные 1 и не больше корня из «n».
import math
def MinDivisor( n ):
. if n % i == 0 :
n = int ( input ())
print ( MinDivisor ( n ))
Заключение
На моём канале можно найти другие типовые задачи и их решения. Эти задачи могут встретиться как на Олимпиаде так и на собеседовании. Желаю всем верных и красивых решений любых задач!
Источник: dzen.ru
Точка а задана координатами x y написать программу которая выводит слово принадлежит
October 2021 1 33 Report
4. Точка А задана координатами X,Y . Написать программу, которая выводит слово «Принадлежит», если
точка принадлежит заштрихованной области
(см. рисунок 4) и «Не принадлежит»
в противном случае. Программа должна иметь дружественный интерфейс. Протестировать
программу для точек (0,0), (1,0), (1.5,1),
(-1,1.5), (-2,-1), (2,-1), (1,-1), (-1,1).
Рис. 4()
заранее спасибо) отмечу как лучший
Answers
Read(x);
Writeln(‘Введите координаты y: ‘);
Read(y);
if (x>2) or (x <-2) then
Writeln(‘Принадлежит’) else Writeln(‘Не принадлежит’);
Источник: scholar.tips
3. Точка А задана координатами X, Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит
заштрихованной области
и «не принадлежит» в противном случае протестировать
программу для
точек (0,0), (2,2),
(0.5,0.5), (0.5,-1.5), (-0.5,0.5), (-2,-1), (-1,-2), (-1, 1), (2, 0).
1)первый ключ сразу подошел к двери.2)второй ключ подошел т.е проверили 2.3)третий подошел т.е проверили 3ключа.4)четвертый подошел т.е проверили 4 ключа.
Ответ дал: Гость
в пятиричной системе каждый следйющий разряд учеличивает число в 5 раз. раз приписали два разряда, получаем: 5 * 5 = 25
число увеличилось в 25 раз.
например, число 12 в пятиричной системе равно числу 7 у десятичной.
привисываем два нуля: 1200 в пятеричной равно числу 175 в десятичной.
Источник: gotovotvet.com