1) Что выведет программа при вызове F(5)?
procedure F(n: integer);
begin
write(n+1);
if n >= 3 then begin
F(n - 3);
F(n - 2); end
end;
2) Что выведет программа при вызове F(5)?
procedure F(n: integer);
begin
if n >= 3 then begin
write(n+1);
F(n - 1);
F(n - 2)
End
3) Определите, что выведет на экран программа при вызове F(6).
procedure f(n:integer);
begin
write(1);
if 1 < n then begin
write( 2 );
f(n div 4);
f(n - 3);
end;
end;
4)Определите, что выведет на экран программа при вызове F(6).
procedure f(n:integer);
begin
write( n+3 );
if 1 < n then begin
f( n div 4 );
f( n – 3 );
write(n);
end;
end;
#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;
}
Объяснение:
Все системы программирования работают примерно одинаково, и Lazarus не исключение.
Кстати, Lazarus - это система для программирования на Паскале.
Ошибки обычно определяют при отладке программы, когда программа или не работает вообще, или работает не так, как хочет автор.
Система обычно сообщает, в какой строке ошибка и какая, хотя бы примерно.
Например, Ожидается такой-то знак (запятая, точка, и т.д, или, скажем, конец строки).
Или: Неправильно записана команда (то есть ошибка в записи).
Исправить ошибки можно в окне редактирования кода.