Posted on 2007-07-13 11:43
ZelluX 阅读(354)
评论(0) 编辑 收藏 所属分类:
Algorithm
1.一行代码解决的辗转相除法
for(;;){if ((m %= n) == 0) return n;if ((n %= m) == 0) return m;}
2.推进式的前缀表达式求值,没见过这种递归@@
char *a; int i;
int eval()
{
int x = 0;
while (a[i] == ' ') i++;
if (a[i] == '+')
{
i++;
return eval() + eval();
}
if (a[i] == '*')
{
i++;
return eval() * eval();
}
while ((a[i] >= '0') && (a[i] <= '9'))
x = 10 * x + (a[i++] - '0');
return x;
}