Pagini recente » Cod sursa (job #351460) | Cod sursa (job #942074) | Cod sursa (job #2424621) | Cod sursa (job #2984147) | Cod sursa (job #1038896)
/*
Keep It Simple!
*/
#include<stdio.h>
char s[100001],*p=s;
long solve();
long multi();
long sub()
{
long ret = 0;
if( *p == '(')
{
++p;
ret+=solve();
++p;
}
else
while( *p >='0' && *p<='9')
{
ret=ret*10+(*p-'0');
++p;
}
return ret;
}
long multi()
{
long ret = sub();
while ( *p == '*' || *p == '/' )
{
if( *p == '*' )
{
++p;
ret *= sub();
break;
}
if(*p == '/' )
{
++p;
ret /= sub();
break;
}
}
return ret;
}
long solve()
{
long ret = multi();
while ( *p == '+' || *p == '-' )
{
if( *p == '+' )
{
++p;
ret += multi();
break;
}
if(*p == '-' )
{
++p;
ret -= multi();
break;
}
}
return ret;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
printf("%ld",solve());
}