Cod sursa(job #706127)

Utilizator vandrei95Zamfir Vlad vandrei95 Data 5 martie 2012 17:19:33
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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,pas=0,n2;
	int putere5[15]={0},zero[15]={0},j;
	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;
	n2=p;
	if(p==0)
		g<<1;
	else
	{
		i=10;
		while(p<zero[i])
			i--;
		for(j=i;j>=1;j--)
			if(p>=zero[j])
			{
				n+=p/zero[j]*putere5[j];
				p=p%zero[j];
			}
		g<<n;
		
		
	}
}