Cod sursa(job #1056649)

Utilizator LauraTudorTudor Laura LauraTudor Data 14 decembrie 2013 13:24:14
Problema Progresie Scor 0
Compilator c Status done
Runda ONIS 2014, Runda 1 Marime 0.86 kb
#include <stdio.h>
#include <math.h>

int main ()
{
  FILE *f1;
  FILE *f2;
  int t,n,gasit;
  int r;
  int i,j,number, number_to_print, new_number,rad,number2;

  f1 = fopen ("progresie.in","r");
  f2 = fopen ("progresie.out","w");
  fscanf (f1, "%d", &t);
  for(i=0;i<t;i++) 
  { gasit=0;
    fscanf (f1, "%d %d", &number, &r);
    number2 = number-1;
    for (n=1;gasit==0; n++) {
      for (j= n*n-n+1; j<=n*n&&gasit==0; j++){
	number2=number-1;
	number_to_print=j;
	new_number=j+r;
	rad=(int)(sqrt(new_number));
	while (number2>0) {
	  if(rad*rad<new_number&&new_number<rad*rad+rad+1)
	  {
	    number2=-1;
	    
	  }
	  else {new_number=new_number+r;
		rad=(int)(sqrt(new_number));
		number2--;
		if(number2==0)
		gasit=1;
		
		}
	}
      }
    }
    if (number2 == 0) {gasit = 1;
    fprintf(f2, "%d\n", number_to_print);
    }
  }
  fclose(f2);
  fclose(f1);
  return 0;
}