Cod sursa(job #1431002)

Utilizator Nadolu_Bogdan_Ionut_322CCNadolu Bogdan Ionut Nadolu_Bogdan_Ionut_322CC Data 8 mai 2015 22:49:17
Problema Factorial Scor 100
Compilator java Status done
Runda Arhiva de probleme Marime 0.87 kb
//package factorial;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

	static long numberOfZeros (long x) {
		
		long y = 0;
		for (long i = 5; i <= x; i *= 5) {
			
			y += x/i;
			
		}
		
		return y;
	}
	
	public static void main (String[] args) throws IOException {
		
		Scanner scanner = new Scanner (new FileInputStream("fact.in"));
		PrintWriter writer = new PrintWriter ("fact.out");
		
		long P = scanner.nextLong();
		long left = 1, right = P * 5, middle = 0;
		
		while (left <= right) {
			
			middle = (left + right) / 2;
			if (numberOfZeros(middle) < P) {
				left = middle + 1;
			} else {
				right = middle - 1;
			}
			
		}
		
		if (numberOfZeros(left) == P) {
			writer.write(String.valueOf(left));
		} else {
			writer.write("-1");
		}
		
		scanner.close();
		writer.close();
	}
	
}