Cod sursa(job #382050)

Utilizator attila3453Geiszt Attila attila3453 Data 12 ianuarie 2010 16:41:01
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
int main(){
  ifstream fi("fact.in");
  ofstream fo("fact.out");
  int a[14]={1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125}; 
  int b[14]={0, 1, 6, 31, 156, 781, 3906, 19531, 97656, 488281, 2441406, 12207031, 61035156, 305175781};
  int p, i, nr;
  fi>>p;
  for(i=0;i<=14;i++){
    if(p==b[i]){
	  fo<<a[i];
	  return 0;
    }
    if(p<b[i]){
	  if(b[i]-p==1){
	    fo<<-1;
	    return 0;
	  } 
	  nr=(p-b[i-1]+a[i-2])*5;
	  fo<<nr;
      return 0;
    }
  }
}