Re[2]: Кто лучше?
От: Staon Украина  
Дата: 09.06.03 16:31
Оценка:
Здравствуйте, Vadim B, Вы писали:

VB>Здравствуйте, Staon, Вы писали:


S>>У меня такое дело – мы с братом не можем выяснить, чей код эффективней.

S>>Вариант №1:
S>>
S>>for(int j=i-1;j>=0;j--)
S>>{
S>> b+=m[j]*pow(10, j);
S>>}
S>>

S>>Вариант №2:
S>>
S>>  c1=(x/(int)pow(10,rank-2))%10;
S>>  c2=(x%(int)pow(10,2))/10;
S>>  x-=c1*pow(10,rank-2);
S>>  x+=c2*pow(10,rank-2);
S>>

VB>IMHO код, который в такой задаче использует (int)pow(...), эффективным считаться никак не может. Кстати, он не может считаться и правильным тоже, потому что никто не гарантирует, что (int)pow(10,8)==100000000, оно вполне может оказаться на единицу меньше.

Спасибо за замечание, я сам это не учёл, хотя где-то среди себя знал про такую ошибку и поэтому придлогаю заменить функцию Pow на MyPow, которая будет высчитывать результат в простом цикле и возвращать int.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.