
Написать программу №1 Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника
составленного из трёх отрезков этого набора или написать, что таких треугольников нет. №2 Вводится четырёхзначное натуральное число. Проверить, является ли оно палиндромом, т. е. числом, которое одинаково читается слева направо и справа налево. Если не является, то вывести ближайшее следующее число-палиндром.

Ответы на вопрос

#include <iostream>
#include <vector>
#include <set>
#include <cmath>
using namespace std;
bool check(double a, double b, double c){
return !(a >= b + c || b >= a + c || c >= b + c);
}
double square(double a, double b, double c){
double p = (a+b+c)/2;
return sqrt(p * (p-a) * (p-b) * (p-c));
}
bool is_palind(int k){
string s = to_string(k);
for(int i = 0; i < s.length() - i - 1; i++)
if(s[i] != s[s.length()-i-1])
return false;
return true;
}
void solve1(){
vector<double> lines(4);
double ans = -1;
for(auto &i : lines) cin >> i;
for(int i = 0; i < 4; i++)
for(int j = i + 1; j < 4; j++)
for(int k = j + 1; j < 4; j++)
if(check(lines[i],lines[j],lines[k]))
ans = max(ans,square(lines[i],lines[j], lines[k]));
ans == -1 ? cout << "No solution" : cout << ans;
}
void solve2(){
set<int> s;
for(int i = 1000; i < 10000; i++)
if(is_palind(i))
s.insert(i);
int n;
cin >> n;
s.find(n) != s.end() ? cout << n : cout << *upper_bound(s.begin(),s.end(),n);
}



Программа №1 (Поиск максимальной площади треугольника):
pythondef calculate_triangle_area(a, b, c):
s = (a + b + c) / 2
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
return area
def find_max_triangle_area(lengths):
max_area = 0
found_triangle = False
for i in range(len(lengths)):
for j in range(i + 1, len(lengths)):
for k in range(j + 1, len(lengths)):
a, b, c = lengths[i], lengths[j], lengths[k]
if a + b > c and a + c > b and b + c > a:
found_triangle = True
area = calculate_triangle_area(a, b, c)
max_area = max(max_area, area)
if found_triangle:
return max_area
else:
return "Треугольников не существует"
# Ввод длин отрезков
lengths = []
for i in range(4):
length = float(input(f"Введите длину {i + 1} отрезка: "))
lengths.append(length)
result = find_max_triangle_area(lengths)
print(result)
Программа №2 (Палиндром и ближайший следующий палиндром):
pythondef is_palindrome(number):
return str(number) == str(number)[::-1]
def find_next_palindrome(number):
while True:
number += 1
if is_palindrome(number):
return number
# Ввод числа
num = int(input("Введите четырёхзначное натуральное число: "))
if is_palindrome(num):
print("Число является палиндромом.")
else:
next_palindrome = find_next_palindrome(num)
print(f"Число не является палиндромом. Ближайший следующий палиндром: {next_palindrome}")
Обратите внимание, что в обоих программах используется функция input()
для ввода значений от пользователя, и результаты выводятся на экран с помощью функции print()
. Программы написаны на языке Python.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili