Pagini recente » Borderou de evaluare (job #3121975) | Cod sursa (job #2560738) | Cod sursa (job #84919)
Cod sursa(job #84919)
#include <stdio.h>
int main()
{
int x[500],a[500],not[500];
int t,n,k,i,j,gas;
FILE *f1,*f2;
f1=fopen("reguli.in","r");
f2=fopen("reguli.out","w");
fscanf(f1,"%d",&n);
n--;
for (i=0; i<=n; i++)
fscanf(f1,"%d",&x[i]);
for (k=1; k<=n; k++)
{
for (i=1; i<=k; i++)
not[i]=0;
gas=0;
for (i=1; i<=n; i++)
{
t=x[i]-x[i-1];
if (i%k!=0)
if (not[i%k]==1 && t!=a[i%k]) gas=1;
else
{
a[i%k]=t;
not[i%k]=1;
}
else
if (not[k]==1 && t!=a[k]) gas=1;
else
{
a[k]=t;
not[k]=1;
}
if (gas==1) break;
}
if (gas==0)
{
fprintf(f2,"%d\n",k);
for (i=1; i<=k; i++)
fprintf(f2,"%d\n",a[i]);
break;
}
}
fclose(f1);
fclose(f2);
return 0;
}