Cod sursa(job #1724651)

Utilizator muresanu_liviuLiviu Muresanu muresanu_liviu Data 3 iulie 2016 18:55:38
Problema Factorial Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <iostream>
using namespace std;


int main()
{
	ifstream in;
	ofstream out;
	in.open("fact.in");
	out.open("fact.out");
	int P, N = 0, it = 0;
	in >> P;
	if(!P)
	{
		out << "1";
		return 0;
	}
	//suntem interesati de numere divizibile cu 10, deci de cele divizibile cu
	//5 si 2. Deoarece avem destule numere divizibile cu 2, ne vor interesa doar
	//cele divizibile cu 5.
	for(;;N+=5)//luam pe rand toate numerele divizibile cu 5 cu un N
	{
		it = N;
		while(it%5 == 0 && it != 0)//cu it verificam de cate ori se divide cu 5
		{
			P--;
			it = it/5;
		}
		if(P == 0)
		{
			out << N;
			break;
		}
		else if(P < 0)//inseamna ca nu exista N
		{
			out << "-1";
			break;
		}
	}
	in.close();
	out.close();
	return 0;
}