#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#x = [1, 2, 3, 4, 4, 5, 8]
#x = [5, 7, 12, 3, 3, 1, 5]
x = [123, 1, 8, 4, 120, 59, 59, 10]
if (sum(x) % 3 == 0):
tmp = sum(x) / 3
x.sort()
x.reverse()
for i in range(3):
y = []
j = 0
while (sum(y) != tmp):
if ((sum(y) + x[j]) <= tmp):
y.append(x[j])
del(x[j])
else:
j += 1
print(y)
else:
print('Вознеможно разбить на 3 равные части!')
INI ini = new INI("Путь_к_файлу");
ini.IniWriteValue("Test_block","Key","Value");
string value = ini.IniReadValue("Test_block","Key");
соответственно разный синтаксис и проч.
Удачным периодом Вася считает такой период, когда рейтинг не понижался, а провальным, соответственно, когда рейтинг не рос. Наиболее удачным периодом Вася считает такой удачный период, на котором произошел наибольший рост рейтинга, а наиболее неудачным считает такой период, на котором произошло наибольшее падение. Помогите Васе по исходным данным найти изменения рейтинга за эти периоды.
procedure TForm1.Button1Click(Sender: TObject);
var
rect: array[0..2] of real;
tmp, p, s: real;
i: integer;
begin
rect[0] := StrToFloat(Edit1.Text);
rect[1] := StrToFloat(Edit2.Text);
rect[2] := StrToFloat(Edit3.Text);
if (rect[0] = rect[1]) and (rect[1] = rect[2]) then
begin
label1.Caption := 'Равносторонний';
Exit;
end;
if (rect[0] = rect[1]) or (rect[1] = rect[2]) or (rect[0] = rect[2]) then
begin
label1.Caption := 'Равнобедренный';
Exit;
end;
//сортируем массив
for i := 0 to 1 do
begin
tmp := rect[i + 1];
if (rect[i] > rect[i + 1]) then
begin
rect[i + 1] := rect[i];
rect[i] := tmp;
end;
end;
if (rect[0] > rect[1]) then
begin
tmp := rect[1];
rect[1] := rect[0];
rect[0] := tmp;
end;
if (sqrt(rect[0] * rect[0] + rect[1] * rect[1]) = rect[2]) then
begin
label1.Caption := 'Прямоугольный';
Exit;
end;
if (rect[0] * rect[0] + rect[1] * rect[1] > rect[2] * rect[2]) then
begin
label1.Caption := 'Тупоугольный';
p := (rect[0] + rect[1] + rect[2]) / 2;
s := sqrt(p * (p - rect[0]) * (p - rect[1]) * (p - rect[2]));
label1.Caption := 'Площадь: ' + FloatToStr(s) + #13;
for i := 0 to 2 do
label1.Caption := label1.Caption + FloatToStr(rect[i]) + #13;
Exit;
end;
end;