1.как можно сравнить два различных алгоритма решение одной и той же задачи? как выбрать лучший из них?
2. чем различаются синтаксические и логические ошибки?
3.как можно искать логическую ошибку в программе?
4.к какому типу ошибок относиться случай, когда выполнение программы не останавливается (программа зацикливается)?
5.два друга по разному ищут ошибки в программах. Кирилл, написав программу, сразу запускает ее для того, чтобы транслятор обнаружил все синтаксические ошибки.Данил же с начала внимательно изучает текст программы и пытается найти ошибки сам, а потом уже запускает ее на выполнение. чем хорош каждый из методов?
#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;
}
Python
n=int(input())
if n>1 and n<10 or n==1:
print(1)
elif n>10 and n<100 or n==10 :
print(2)
elif n>100 and n<1000 or n==100 :
print(3)
elif n>1000 and n<10000 or n==1000:
print(4)
elif n>10000 and n<100000 or n==10000:
print(5)
elif n>100000 and n<1000000 or n==100000:
print(6)
elif n>1000000 and n<10000000 or n==1000000:
print(7)
elif n>10000000 and n<100000000 or n==10000000:
print(8)
elif n>100000000 and n<1000000000 or n==100000000:
print(9)
elif n>1000000000 and n<10000000000 or n==1000000000:
print(10)
else:
print(0)
СДЕЛАЙ ОТВЕТ ЛУЧШИМ!