Pagini recente » Cod sursa (job #2344104) | Cod sursa (job #2643939) | Cod sursa (job #2936806) | Cod sursa (job #2428281) | Cod sursa (job #1038899)
/*
Keep It Simple!
*/
#include<stdio.h>
char s[100002],*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();
}
if(*p == '/' )
{
++p;
ret /= sub();
}
}
return ret;
}
long solve()
{
long ret = multi();
while ( *p == '+' || *p == '-' )
{
if( *p == '+' )
{
++p;
ret += multi();
}
if(*p == '-' )
{
++p;
ret -= multi();
}
}
return ret;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
printf("%ld\n",solve());
}