Cod sursa(job #245479)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 18 ianuarie 2009 01:52:49
Problema Pascal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("pascal.in","r"),*g=fopen("pascal.out","w");
long f2[5000001],f3[5000001],f5[5000001]; 
int main()
{
	long i,d,j,x,ret=0;
	fscanf(f,"%ld %ld",&i,&d);
  for( j = 1; j <= i; j++ ) f2[j] = j/2 + f2[j/2]; 
  for( j = 1; j <= i; j++ ) f3[j] = j/3 + f3[j/3]; 
  for( j = 1; j <= i; j++ ) f5[j] = j/5 + f5[j/5]; 
  x=i/2;
  for( j = 0; j <=x; j++ ) { 
    int n2 = f2[i] - f2[j] - f2[i-j]; 
    int n3 = f3[i] - f3[j] - f3[i-j]; 
    int n5 = f5[i] - f5[j] - f5[i-j]; 
    if( d == 2 && n2 ) ret++; 
    if( d == 3 && n3 ) ret++; 
    if( d == 4 && n2 >= 2 ) ret++; 
    if( d == 5 && n5 ) ret++; 
    if( d == 6 && n2 && n3 ) ret++; 
	if(((r&2)==0)&&j!=x||(r&2)) ret++;
  }
	fprintf(g,"%ld\n",ret);
	return 0;
}