Cod sursa(job #1056465)

Utilizator sirbu11Sirbu Claudiu Cosmin sirbu11 Data 14 decembrie 2013 13:08:03
Problema Progresie Scor 0
Compilator cpp Status done
Runda ONIS 2014, Runda 1 Marime 0.66 kb
#include<stdio.h>
#include<math.h>

int main()
{
 unsigned long long n,r,nrelem,y,ok,i,t;
 double x1,x;
 
 FILE *f=fopen("progresie.in","r");
 FILE *g=fopen("progresie.out","w");
 fscanf(f,"%llu",&t);
 for(i=1;i<=t;i++)
 {
  fscanf(f,"%llu%llu",&n,&r);
  ok=0;
  x=1;
  nrelem=1;
  x1=x+r;
  y=x1;
  while(ok==0)
  { 
   long long int radx,rad=sqrt(x1);
   
   if(rad<(x1-rad*rad)||(rad*rad)==x1)
	   {
		nrelem++;
		x1=x1+r;
       }
   else
	   {
		nrelem=0;
		x=x+1;
		radx=sqrt(x);
		if(radx>=(x-radx*radx)&&(radx*radx)!=x)
		 x=radx*radx+radx+1;
		x1=x;
		y=x1;
       }
   if(nrelem==n)
		ok=1;
  }
  fprintf(g,"%llu\n",y);
 }
}