Добрый вечер! Решал одну задачу, наткнулся на такую ошибку:
ll n;
cin >> n;
ll fn = n;
......
ll a = n * (n + 1);
ll b = 10000000000000 * n ;
ll c = n * n;
if (n != fn)
{
printf("ERROR!!");
}
if (n < 0)
{
printf("ERROR!!");
}
if (a < 0)
{
printf("ERROR!!");
}
if (b < 0)
{
printf("ERROR!!");
}
if (c < 0)
{
printf("ERROR!!");
}
Опытным путем установил, что в первый if никогда не попадает программа, а во второй попадает. С чем это может быть связано? Переменная fn встречается 2 раза в коде. 1 <= n <= 10^6
UPD: программа из всех ифов задохит только в if(a < 0).....