Cod sursa(job #1784329)

Utilizator Dan_RadulescuRadulescu Dan Dan_Radulescu Data 19 octombrie 2016 22:37:15
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.67 kb
#include<stdio.h>
#include<math.h>
using namespace std;
FILE *f1=fopen("consecutive.in","r");
FILE *f2=fopen("consecutive.out","w");
int t,n,val,i,k,nr;
float a;
int main(){
   fscanf(f1,"%d",&t);
   for (i=1;i<=t;i++){
       fscanf(f1,"%d",&n);
       val=(-1+sqrt(1+8*n))/2+1;
       nr=0;
       for (k=2;k<=val;k++){
          a=(float)(2*n+k-k*k)/(float)(2*k);
          if (a==(int)a && a>0) nr++;
       }
       fprintf(f2,"%d\n",nr);
       for (k=2;k<=val;k++){
            a=(float)(2*n+k-k*k)/(float)(2*k);
            if (a==(int)a && a>0) fprintf(f2,"%d %d\n",(int)a,(int)a+k-1);
       }
   }
   fclose(f1);
   fclose(f2);
   return 0;
}