Cod sursa(job #1210307)

Utilizator hrazvanHarsan Razvan hrazvan Data 19 iulie 2014 16:41:59
Problema Pascal Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

char min2(char a, char b){
  return a < b ? a : b;
}

char divi(int n, int d){
  if(d == 4){
    return divi(n, 2) >> 1;
  }
  if(d == 6){
    return min2(divi(n, 2), divi(n, 3));
  }
  int rez = 0;
  while(n > 1){
    n /= d;
    rez++;
  }
  return rez;
}

int main(){
  FILE *in = fopen("pascal.in", "r");
  int r, d;
  fscanf(in, "%d%d", &r, &d);
  fclose(in);
  int i, rez = 0, last = 0;
  for(i = 0; i <= r; i++)  t[i] = -1;
  for(i = 1; i <= r; i++){
    last -= divi(i, d);
    last += divi(r - i + 1, d);
    if(last > 0)  rez++;
  }
  FILE *out = fopen("pascal.out", "w");
  fprintf(out, "%d", rez);
  fclose(out);
  return 0;
}