Pagini recente »
Cod sursă (job #495398)
|
Istoria paginii runda/2015-05-12-clasa-5-tema-38
|
Istoria paginii runda/cls5_usor
|
Istoria paginii runda/verif/clasament
|
Cod sursă (job #105695)
Cod sursă (job
#105695)
#include<stdio.h>
int a;
char first;
char tip;
FILE *fin,*fout;
void taie()
{
first=fgetc(fin);
}
void citeste()
{
while(first==' ' || first=='\n')
{
first=fgetc(fin);
}
}
int numar()
{
int nr=0;
nr=first-'0';
first=fgetc(fin);
while(first>='0' && first<='9')
{
nr=nr*10+(first-'0');
first=fgetc(fin);
}
return nr;
}
int expresie(int a)
{
if(first=='(')
{
int v[50000],nr_elem=0;
first=fgetc(fin);
citeste();
while(first!=')')
{
int x=expresie(v[nr_elem]);
if(tip==0)
nr_elem++;
v[nr_elem]=x;
citeste();
if(first==',')
{
first=fgetc(fin);
citeste();
}
}
first=fgetc(fin);
tip=1;
if(a%nr_elem==0)
return v[nr_elem];
return v[a%nr_elem];
}
else
{
tip=0;
return numar();
}
}
int main()
{
fin=fopen("bizar.in","r");
fout=fopen("bizar.out","w");
first=fgetc(fin);
citeste();
a=numar();
while(first!=EOF)
{
a=expresie(a);
citeste();
}
fprintf(fout,"%d",a);
return 0;
}