1.
program prog;
var
x,y:real;
begin
writeln('x=?');
readln(x);
if x<=-4 then
y:=x*x*x-2;
if 6<=x then
y:=40-x;
if (-4<x) and (x<6) then
y:=x*x;
writeln('y ',y:1:3)
end.
3.
if x<1 then
y:=2*x-17;
if (1<=x) and (x<=5) then
y:=exp(ln(x)*7);
if 5<x then
y:=x*ln(x);
exp(ln(x)*n)
,где n - степень , x - выражение.
(используется во втором упражнение которое я решил, согласитесь лучше будет выглядеть чём х*х*х*х*х*х*х)
#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;
1.
program prog;
var
x,y:real;
begin
writeln('x=?');
readln(x);
if x<=-4 then
y:=x*x*x-2;
if 6<=x then
y:=40-x;
if (-4<x) and (x<6) then
y:=x*x;
writeln('y ',y:1:3)
end.
3.
program prog;
var
x,y:real;
begin
writeln('x=?');
readln(x);
if x<1 then
y:=2*x-17;
if (1<=x) and (x<=5) then
y:=exp(ln(x)*7);
if 5<x then
y:=x*ln(x);
writeln('y ',y:1:3)
end.
exp(ln(x)*n)
,где n - степень , x - выражение.
(используется во втором упражнение которое я решил, согласитесь лучше будет выглядеть чём х*х*х*х*х*х*х)
#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;
}