Запишите на языке паскаль программу решения номер 34 к § 3.4. считайте рост претендента в команду случайным числом из диапозона от 150 до 200 см, а число претендентов n=50. (номер 34 - объявлен набор в школьную баскетбольную команду. извесьен рост каждого из n учеников, желающих попасть в эту команду. составьте алгоритм подсчёта количества претендентов, имеющих шанс попасть в команду, если рост игрока команды должен быть не менее 170 см.
#include <iostream>
typedef long long ll;
using namespace std;
bool ll_is_valid(ll t, ll N, ll x, ll y)
{
return t / x + (t - x) / y >= N;
}
ll f(ll N, ll x, ll y)
{
ll R = 1;
while (!ll_is_valid(R,N,x,y)) R *= 2;
ll L = R / 2;
while(R - L > 1)
{
ll M = (L + R) / 2;
if (!ll_is_valid(M,N,x,y)) {L = M;}
else {R = M;}
}
return R;
}
int main()
{
ll N,x,y;
cin >> N >> x >> y;
if(x > y) swap( x, y );
cout << f(N, x, y) << std::endl;
}
uses
system,system.Windows.Forms;
Var
dat:DateTime;
myForm:Form;
myButton:Button;
myTextBox:TextBox;
procedure MyButtonClick(sender:Object;e:EventArgs);
begin {при каждом нажатии на кнопку значение dat обновляется и выводится в текстовое поле}
dat:=datetime.Now;
myTextBox.Text:=dat.ToString;
end;
begin
myForm:=new Form; //создание объекта - формы
myform.Left:=500;
myform.top:=500;
myform.AutoSize:=true;
myform.Width:=300;
myform.Height:=100;
myTextBox:=new TextBox; //создание объекта - текстового поля
myTextBox.Left:=80;
myTextBox.Top:=40;
myTextBox.Enabled:=true;
myTextBox.Width:=105;
myTextBox.Height:=100;
myTextBox.MaxLength:=16;
myTextBox.ReadOnly:=false;
myTextBox.Visible:=true;
myButton:=new Button; //создание объекта - кнопки
myButton.Text:='Now';
myButton.Left:=80;
myButton.top:=80;
myButton.AutoSize:=true;
myForm.Controls.Add(myButton); //вешаем на форму кнопку и поле
myForm.Controls.Add(myTextBox);
myButton.click+=MyButtonClick; //присваиваем событие при нажатии на кнопку
Application.Run(myForm);
end.