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

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n) = n ⋅3при n ≤ 3;
F(n) = F(n − 1) · F(n − 2) - 2 при n > 3.

Чему равно зна­че­ние функ­ции F(3)? В от­ве­те за­пи­ши­ толь­ко на­ту­раль­ное число.

Показать ответ
Ответ:
yoooyooo
yoooyooo
19.06.2022 10:37

#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;

}

0,0(0 оценок)
Ответ:
влада220602
влада220602
25.08.2020 13:11
var i: integer; begin // С С С Вывод последовательности 1 3 5 7 9var i,x: integer; begin // С и промежуточной переменной x := 1; for i := 1 to 5 do begin write(x,' '); x := x + 2; end; writeln;   // С без промежуточной переменной for i := 1 to 5 do write(2*i-1,' '); writeln;   // С С Сумма и произведение введенных чиселКод на Pascalvar i: integer; s,p: real; x: real; begin writeln('Введите 10 чисел: '); s := 0; p := 1; for i := 1 to 10 do begin read(x); s := s + x; p := p * x; end; writeln('Сумма введенных чисел = ',s); writeln('Произведение введенных чисел = ',p); end.Код на PascalABC.NETvar s,p: real; begin writeln('Введите 10 чисел: '); s := 0; p := 1; for var i := 1 to 10 do begin var x: integer; read(x); s += x; p *= x; end; writeln('Сумма введенных чисел = ',s); writeln('Произведение введенных чисел = ',p); end.Вычисление n!Код на Pascalvar n,fact: integer; i: integer; begin write('Введите n (n<=13): '); readln(n); fact := 1; for i := 2 to n do fact := fact * i; writeln(n,'! = ',fact); end.Код на PascalABC.NETvar n: integer; begin write('Введите n (n<=13): '); readln(n); var fact := 1; for var i := 2 to n do fact *= i; writeln(n,'! = ',fact); end.Вычисление AnКод на Pascalvar n,i: integer; a,p: real; begin write('Введите a,n: '); readln(a,n); p := 1; for i := 1 to n do p := p * a; writeln(a,' в степени ',n,' = ',p); end.Код на PascalABC.NETvar n: integer; a: real; begin write('Введите a,n: '); readln(a,n); var p := 1.0; for var i := 1 to n do p *= a; writelnFormat('{0} в степени {1} = {2}',a,n,p); end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота