Cod sursa(job #706110)

Utilizator vandrei95Zamfir Vlad vandrei95 Data 5 martie 2012 16:53:31
Problema Factorial Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream>
#include<fstream>
#include <stdio.h>
#include <math.h>
using namespace std;

int main(void)
{
	fstream f,g;
	f.open("fact.in",ios::in);
	g.open("fact.out",ios::out);
	int n=0,i,imp1=25,pas=0,n2;
	int putere5[15]={0},zero[15]={0};
	putere5[1]=5;
	for(i=2;i<=10;i++)
		putere5[i]=putere5[i-1]*5;
	zero[1]=1;
	for(i=2;i<=10;i++)
		zero[i]=putere5[i-1]+zero[i-1];
	

	long long p=1;
	f>>p;
	if(p==0)
		g<<1;
	else
	{
		i=10;
		while(p<zero[i])
			i--;
		n=putere5[i];
		pas=zero[i];
		while(pas<p)
		{
			n+=5;
			if(n%25==0)
			{
				n2=n;
				pas+=2;
				n2/=25;
				while(n2%5==0)
				{
					pas++;
					n2/=5;
				}
			}
			else
				pas++;
		}
		if(pas==p)
			g<<n;
		else
			g<<-1;
	}
}