posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

继续贴代码

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;
}


只有注册用户登录后才能发表评论。


网站导航: