|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33008a044b2b.html, оценка из 5, голосов 10
|