Здравствуйте, McQueen, Вы писали:
MQ>Здравствуйте!
MQ>Тут у меня такой вопрос (просто и мило
: решить уравнение N!=F относительно N(F известно).
MQ>Я решил это таким образом:
MQ>int anti(double F)
MQ>{
MQ> double N; int i=1;
MQ> if(F==1) N=1; else
MQ> for(N=0;F>1;i++)
MQ> if(floor(F/=i)!=F) return 0; else N++;
MQ> return N;
MQ>}
MQ>Но может кто-то напишет что-нибудь более элегантное?
(Только, большая просьба, если не трудно, пишите свои решения на C, а то в C++ я пока плохо разбираюсь
)
Если точно известно, что N! = F, то просто счистаем факториал заново.
unsigned int anti(double F)
{
double N=1;
for(unsigned int i = 2; N < F; i++) N*=i;
return i;
}