На каждую отдельный полный код для pascal. можно без объяснения. заранее за полное решение
1) на плоскости дан набор точек с целочисленными координатами. необходимо найти треугольник наибольшей площади с вершинами в этих точках, одна из сторон которого лежит на оси ox. напишите эффективную, в том числе по памяти, программу, которая будет решать эту . размер памяти, которую использует ваша программа, не должен зависеть от длины переданной последовательности чисел. укажите используемый язык программирования и его версию.
в первой строке вводится одно целое положительное число – количество точек n. каждая из следующих n строк содержит два целых числа – сначала координата х, затем координата у очередной точки.
программа должна вывести одно число – максимальную площадь треугольника, удовлетворяющего условиям . если такого треугольника не существует, программа должна вывести ноль.
пример входных данных:
6
0 0
2 0
0 4
3 3
5 5
-6 -6
пример выходных данных для выше примера входных данных:
6
2) на плоскости дан набор точек с целочисленными координатами. необходимо найти такой треугольник наибольшей площади с вершинами в этих точках, у которого нет общих точек с осью оу, а одна из сторон лежит на оси ох.
напишите эффективную, в том числе по памяти, программу, которая будет решать эту . размер памяти, которую использует ваша программа, не должен зависеть от количества точек.
перед текстом программы кратко опишите используемый алгоритм решения и укажите используемый язык программирования и его версию.
описание входных данных
в первой строке вводится одно целое положительное число - количество точек n.
каждая из следующих n строк содержит два целых числа - сначала координата х, затем координата у очередной точки. числа разделены пробелом.
описание выходных данных
программа должна вывести одно число - максимальную площадь треугольника, удовлетворяющего условиям . если такого треугольника не существует, программа должна вывести ноль.
пример входных данных:
8
-10 0
2 0
0 4
3 3
7 0
5 5
4 0
9 -9
пример выходных данных для выше примера входных данных:
22.5
3) на плоскости задано множество точек с целочисленными координатами. необходимо найти количество отрезков, свойствами:
1. оба конца отрезка принадлежат заданному множеству;
2. ни один конец отрезка не лежит на осях координат;
3. отрезок пересекается с обеими осями координат.
напишите эффективную по времени и по используемой памяти программу для решения этой .
программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз.
программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта.
перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
входные данные
в первой строке задаётся n – количество точек в заданном множестве. каждая из следующих строк содержит два целых числа x и y – координаты очередной точки. гарантируется, что 1≤n≤1; -1000≤x,y≤1000.
пример входных данных:
4
6 6
-8 8
-9 -9
7 -5
выходные данные
необходимо вывести единственное число: количество удовлетворяющих требованиям отрезков.
пример выходных данных для выше примера входных данных:
2
4) на плоскости задано множество точек с целочисленными координатами. необходимо найти максимально возможную площадь невырожденного (т.е. имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на осях координат и при этом принадлежат заданному множеству. если такого треугольника не существует, необходимо вывести соответствующее сообщение.
напишите эффективную, в том числе по используемой памяти, программу для решения этой .
перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
входные данные
в первой строке задаётся n – количество точек в заданном множестве. каждая из следующих строк содержит два целых числа x и y – координаты очередной точки.
пример входных данных:
3
6 0
0 8
9 7
выходные данные
если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. если искомый треугольник не существует, программа должна напечатать сообщение: «треугольник не существует».
"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?
про пятеричные записи ничего не понял... :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию
var x,a,b: longint;
begin
for var i := 999 DownTo 100 do begin
a := 0;
b := 1;
x := i;
while x>0 do begin
if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);
x := x div 5;
end;
if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);
end;
end.
прога проводит расчет для всх трехзначных чисел от 999 до 100
итого мы видим что максимальное подходящее число это 960
при необходимости прогу можно переделать чтобы она находила только максимальное число.
# подключаем модуль, чтобы использовать случайные числа
from random import *
a = [0]*32 # Создание списка
for i in range (0, 32):
a[i] = randint(1, 101) # заполнение случайными числами
a.sort() # сортировка
print(a) # вывод на экран
b = int(input('Введите число для поиска : ')) # ввод числа для поиска
mid = len(a) // 2 # определяем средний элемент списка
low = 0 # определяем верхнюю границу списка
high = len(a) - 1 # определяем верхнюю границу списка
step = 0 # обнуляем счётчик шагов
while a[mid] != b and low <= high: # в цикле пока не нашли искомый элемент
if b > a[mid]: # если искомый элемент > среднего элемента в диапазоне
low = mid + 1 # то нижнюю границу выставим в середину диапазона
else: # если искомый элемент <= среднего элемента в диапазоне
high = mid - 1 # то верхнюю границу выставим в середину диапазона
mid = (low + high) // 2 # считаем новый средний элемент диапазона
step += 1 # увеличиваем счётчик на 1
if low > high:
print('Нет числа')
else:
print('Количество шагов = ', step)
print('Индекс = ', mid)