Столкнувшись с проблемой в использовании длинного в C ++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Столкнувшись с проблемой в использовании длинного в C ++

Сообщение Anonymous »

Введите изображение Описание Вот проблема.
Вот мой код:
include < /p>
Использование пространства имен std; < /p>
int main () {
int t; < /p>
cin >> t;

while (t--)

{
long long l, r;

cin >> l >> r;
l--;
long long sum_r = r*1ll*(r+1)/2;
long long sum_l_minus_1 = l*1ll*(l+1)/2;
long long ans = sum_r - sum_l_minus_1;

cout
Я новичок в C ++ и не получает того, как остановить переполнение, он дает мне неправильный ответ
Вот тестовый пример, который дает неправильный ответ:
input
100000
641009859 54748096
75475634848484848859 54748096
100000
641009859 54748096
754663464848484844848484848484848484848459 />476927808 284875072
503158867 627937890
322595515 786026685
645468307 669240390
939887597 588586447
973764525 521365644
710156469 985188306
860350786 /> 475357775 255361535
135993561 166967811
46718075 851555000
704533750 788412453
946936715 234173340
7506353535555555555553555535353535355353535535535535535355355355353535535353535353553. 771067386
254020497 988895277
16233727 99235830
208182535 612324591
714622972 51380687
59106285666346565325325532535550687. />43636289...
Выход
18242795931397643261
321106456990525715
18373590910392113216
7056857469011111113216
70568574694011254401125444011254440112544401125444011254440112544440112544401125444011254444011244444011125444440111111113216
18373590910392113216. /> 256885042171298100
15626682790307274
18178266729772613338
18108546466754646256
233136894755973256256
23313689475597325151256 />18076706281500574639
18435753213215732548
18425668887256488901
261601098707629002
18366366323727214071
4692000789816186
361481670195783725
62613196324680456
180258818079775988831
4780713037286769688331
478071303728676961
/> 456693728609847747
4792108089473964
165800718842399091
18192721065535793038
2067931878495035351 /> 129683964060535770
...
Ответ
203948143007666310
321106456990525715
73153164079241280
73153164079241280
73153164079241280
/> 70568574694012584
256885042171298100
15626682790307274
268477345465412322
338197608450035555412322
338197608450035555412322
338197608450035555412322 /> 233136894755973225
370037793080636595
10990862049077172
21075186697427845
261601098707629002
803777777777777777777777. /> 4692000789816186
361481670195783725
62613196324680456
420925995114672840
47807130372867696
/> 456693728609847747
4792108089473964
165800718842399091
254023008939762237
2067931878495035351 /> 129683964060535770
125678814334838849
172...образного /> Я также пытался использовать без знака, но все еще дает ошибку < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -long-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»