Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27445
  • 博文数量: 9
  • 博客积分: 535
  • 博客等级: 中士
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-20 14:28
文章分类

全部博文(9)

文章存档

2010年(6)

2009年(3)

我的朋友

分类: C/C++

2010-05-30 23:59:39

求 a^b mod n
 
a^b 直接求会非常大,甚至超出64位能表示的范围;
 
 

int modular_exponent(int a,int b,int n)
{
    int ret = 1;
    for ( ; b; b>>=1,a=a*a%n )
    {
        if ( b&1 )
            ret = ret*a %n;
    }
        return ret;
}

*************************************************************

回去搞本数论研究下去。

*************************************************************

阅读(684) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~