Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial : Iulie 18, 2015, 01:54:38
Am si eu o intrebare,va rog frumos,puteti sa-mi spuneti de ce iau 10  doar 10 pct.
M-am gandit ca prima data sa fac o fariabila care sa ia n*5 si dupa sa scad de fiecare data cand dau de puterile lui 5 scad din aux corespunzator,multumesc!
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int main(){
   long long n,i,j,s=1,p=-5;
   in>>n;
   long long aux;
   aux=n;
     aux=aux*5;
   if(n==0)
    {
        out<<"-1";
        return 0;
    }
   for(i=1;i<=100000000;i++)
    {
        s=s*5;
        p=p+5;
        if(s>aux)
        {
            out<<aux;
            return 0;
        }
        if(s==n)
        {
            out<<"-1";
            return 0;
        }
        if(s<aux)
        {
            aux=aux-p;
        }


    }
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines