поэтому причина, по которой у меня возник этот вопрос, заключается в том, что я занимался проблемой, из-за которой нам пришлось округлить окончательный ответ. Теперь,
cout << round(answer); //this didn't pass one test case
//the following block of code passed all test cases
if (answer-(int)answer>0.5) cout << int(answer)+1;
else cout << (int)answer;
cout << llround(answer); //this passed all test cases
Итак, в чем разница между round()
и llround()
для этого типа поведения? Если бы переменная answer
была бы настолько большой, что не помещалась бы в тип int
, тогда блок кода if-else
также не должен был бы работать. Так чего мне не хватает?
Спасибо!