Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Vladimir Vassilevsky                 2:5020/175.2   17 Jan 2003  18:20:28
 To : Mike Bolshakoff
 Subject : Re: коммивояжёр
 -------------------------------------------------------------------------------- 
 
 Hi Mike,
  >>  >> unsigned int Factorial(unsigned int n)
  >>  >> {
  >>  >> unsigned int i,f = 1;
  >>  >>
  >>  >> for(i = 2; i <= n; i++) f *= i;
  >>  >>
  >>  >> return f;
  >>  >> }
  >> 
  >>  VL>  Hу кто же так неэффективно факториал считает?!? Позор!
  >> 
  >> И как лучше?
 
  MB> UNIT Factorial(UNIT n)
  MB> {
  MB>     if(n) // или if(n > 1)
  MB>     {
  MB>         for(UNIT f = n; --n; f *= n);
  MB>         return(f);
  MB>     }
  MB>     else
  MB>         return(1);
  MB> }
 
  Это к тому, что на большинстве архитектур сравнение с нулем менее 
  затратно, чем сравнение с константой или сравнение двух переменных. 
  Зато у тебя на одну итерацию больше, да еще и сравнение вначале :)
 
  VLV
  
 
 "Хотели как лучше - получилось как всегда.   (с) В. С. Черномырдин"
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: коммивояжёр   Evgenij Masherov   13 Jan 2003 11:05:22 
 Re: коммивояжёр   Vitaly Lugovsky   14 Jan 2003 18:55:57 
 Re: коммивояжёр   Mike Bolshakoff   17 Jan 2003 18:03:48 
 Re: коммивояжёр   Vladimir Vassilevsky   17 Jan 2003 18:20:28 
Архивное /ru.algorithms/33008a044b2b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional