Cod sursa(job #1807230)
Utilizator | Sirb Robert Aurelian asimptota12 | Data | 16 noiembrie 2016 10:56:49 |
---|---|---|---|
Problema | Progresie | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva ICPC | Marime | 1.04 kb |
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int isp(long long x){
float a,s;
s=sqrt(x);
a=s-(long long)(s);
if(a==0||a>0.5){
return 1;
}
return 0;
}
int nextnr(long long l){
float s,a;
s=sqrt(l);
a=s-(long long)(s);
if (a==0){
return (l+s+1);
}
return l+1;
}
int main(){
FILE *f1,*f2;
f1=fopen("progresie.in","r");
f2=fopen("progresie.out","w");
long long t,n,r,i,j,l;
float a;
float s;
fscanf(f1,"%lli",&t);
while (t){
fscanf(f1,"%lli %lli",&n,&r);
i=1;
while (i>0){
l=i+r;
j=1;
while(isp(l)){
l=l+r;
j=j+1;
if (j==n){
break;
}
}
if(j==n){
fprintf(f2,"%lli\n",i);
break;
}
i=nextnr(i);
}
t=t-1;
}
return 0;
}