решить задачу на питоне. Задача
На прямой дощечке вбиты гвоздики. Любые два гвоздика можно соединить ниточкой. Требуется соединить какие-то пары гвоздиков ниточками так, чтобы к каждому гвоздику была привязана хотя бы одна ниточка, а суммарная длина всех ниточек была минимальна.
Входные данные:
- в первой строке записано число N - количество гвоздиков (2<=N<=100);
- в следующей строке записано N чисел - координаты всех гвоздиков (неотрицательные целые числа, не превосходящие 10000).
Выходные данные: выведите единственное число - минимальную суммарную длину всех ниточек.
Примеры
№ Входные данные Выходные данные
1
5
4 10 0 12 2
6
var x,y:integer;
begin
writeln('введите два числа');
readln(x);
readln(y);
if (x<1000000001) and (y<1000000001) and (x>0) and (y>0)
then writeln('сумма чисел =',x+y)
else writeln('диапазон чисел неверный');
end.
Если вдруг вам поверит учитель, можете перевыполнить поставленную задачу:
var x,y:integer;
s:string;
begin
randomize;
writeln('взять ли числа случайными? ответ да или нет');
readln(s);
if (s='да') or (s='Да') or (s='ДА') or (s='дА') then begin
x:=random(1000000000);
y:=random(1000000000);
writeln('сумма чисел =',x+y);
writeln('произведение чисел =',x*y);
end
else begin
writeln('введите два числа');
readln(x);
readln(y);
writeln('сумма чисел =',x+y);
writeln('произведение чисел =',x*y);
end;
end.
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
ld func1(ld x, ld y, ld z){
return 5 * atan(x) - (1/4) * acos(x) * ((x + 3 * abs(x-y) + pow(x,2))/(abs(x-y) * z + pow(x,2)));
}
ld func2(ld x, ld y, ld z){
return (pow(M_E,abs(x-y)) * pow(abs(x-y),x+y))/(atan(x)+atan(z)) + pow(pow(x,6) + pow(log(y),2),(1/3));
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
ld x,y,z;
cin >> x >> y >> z;
cout << func1(x,y,z) << "\n" << func2(x,y,z);
}
P.S если я где-то косякнул по невнимательности, то пишите, исправим