Author |
Message |
28/02/2015 14:04:30
|
Nikola Danevski
Joined: 18/01/2012 13:09:51
Messages: 6
Offline
|
Може некој да ми каже каде грешам? Ми дава 44/49 точни тест случаи. Еден каде што резултатот ми е неточен, е
1500000000 2000000000, каде што output-от е 17543860, додека мене ми е 5685363.
|
|
|
28/02/2015 15:50:11
|
addictus
Joined: 08/10/2010 11:22:51
Messages: 23
Location: Куманово
Offline
|
Бидејќи променливата i е од тип int, пресметките во 19-тиот ред (20*i и 10*i) исто така се вршат во тип int. Но бидејќи овој циклус иде до големи броеви(како 166,666,670 за тест примерот што го даде), при множење на овој број со 20 ти го надминуваш ограничувањето на int (кое е 2,147,483,647). Можеш пресметките во 19тиот и 21виот ред да ги кастираш во long long, или пак променливата i да ја направиш long long, со што ќе се реши овој проблем.
Но сепак со такви големи броеви, и да имаш точен резултат, ќе го надминеш временскиот лимит. Пробај да ја оптимизираш задачата (можеби некое решение кое не користи циклуси?).
|
Решенија на задачи - aandevski.wordpress.com |
|
|
|
|
|