Cod sursa(job #1807173)

Utilizator asimptota12Sirb Robert Aurelian asimptota12 Data 16 noiembrie 2016 09:17:48
Problema Progresie Scor 0
Compilator c Status done
Runda Arhiva ICPC Marime 1.58 kb
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
void progresie(int l){
    int x=1,stare=0,i=1,aux=2;
    while (x<=l){
        if (stare==0){
                printf(" %d",x);
        }
        i=i-1;
        if(i==0){
            if (stare==1){
                stare=0;
                i=aux;
                aux++;
            }
            else{
                stare=1;
                i=aux-1;
            }
        }
        x=x+1;

    }
}
int isp(int x){
    float a,s;
    s=sqrt(x);
    a=s-(int)(s);
    if(a==0||a>0.5){
    return 1;
    }
    return 0;
}
int nextnr(int l){
    float s,a;
    s=sqrt(l);
    a=s-(int)(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");
    int t,n,r,i,j,l;
    float a;
    float s;
    fscanf(f1,"%d",&t);
    while (t){
        fscanf(f1,"%d %d",&n,&r);
        i=1;
        while (i>0){

              if (isp(i)==0)
                {
                    i=i+1;
                    continue;
                }
              else{
                l=i+r;
                j=1;
                while(isp(l)){
                    l=l+r;
                    j=j+1;
                    if (j==n){
                    break;
                    }
                }
                if(j==n){
                    fprintf(f2,"%d\n",i);
                    break;
                }
              }
              i=nextnr(i);
        }
        t=t-1;
    }

    return 0;
}