谁会算35的233次方在除以55的余数

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:56:55

我算出来是30

如果用计算机做的话,记住,用这样的方法:
x*y mod n = ((x mod n) * y) mod n

始终保持余数处于一个比较小的值。

int remain, i;

remain = 1;
for ( i = 0; i < 233; i ++ )
{
remain *= 35;
remain %= 55;
}
printf ( "35^233 mod 55 = %d\n", remain );

如果用手做的话,记住,x^n mod y,在 n 达到特定值时,回到 x mod y。这个特定值,就是 y/gcd(x,y)。其中 gcd (x,y) 表示 x, y 的最大公约数

就是说:
x mod y = x^(y/gcd(x,y)) mod y
以 y/gcd (x,y) - 1 为周期

这道题里面,55 / gcd(35, 55) = 55 / 5 = 11
周期 10,35^1, 35^11, 35^21 ... 35^231 除以 55 的余数都是一样的

35^233 mod 55 = 35^3 mod 55

35^1 mod 55 = 35
35^2 mod 55 = 35*35 mod 55 = 15
35^3 mod 55 = 15*35 mod 55 = 30

……不信的话自己试,到 35^11 mod 准回到 35 :)

以下用到的符号:^ 表示乘方;mod 表示求余
(1) 小费马定理:若p为质数且a、p互质,则:(a^p-a) mod p =0
(2) (a*b) mod c=[(a mod c)*(b mod c)] mod c
(3) 二项式定理

根据小费马定理:(35^11-35) mod 11=0
显然:(35^11-35) mod 5=0
所以:(35^