Re[2]: Факториал "наоборот"
От: McQueen Россия  
Дата: 12.08.03 16:48
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Если точно известно, что N! = F, то просто счистаем факториал заново.

LVV>
LVV>unsigned int anti(double F)
LVV>{
LVV> double N=1; 
LVV> for(unsigned int i = 2; N < F; i++) N*=i;
LVV> return i;
LVV>}
LVV>


И верно: просто, как и все гениальное! Спасибо!
Добавлю, пожалуй, только проверку на то, является ли F вообще факториалом какого-нибудь числа:

unsigned int anti(double F)
{
double N=1;
for(unsigned int i = 2; N < F; i++){
N*=i;
if(floor(F/N)!=F/N) return 0;
}
return i;
}
-Машину зря гоняет казенную! — наябидничал и Кот, жуя гриб.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.