b=b
(∑a^b)%c
b=1
*problem:
*輸入a,b,c
*sum = a + a^2 + a^3 + ... + a^b
*求 sum % c
*a(1~10^9) b(1~10^9) c(1~10^9)
快速冪的過程中 用到 二分
求和的過程也用到二分.
快速冪就不多說了.
不了解的-->:
關於求和的過程:
a = a
a+a^2+a^3+a^4 =a+a^2 + (a+a^2)*a^2 //指數偶數
a+a^2+a^3
+a^4+a^5=a+a^2+a^3+(a+a^2)*a^3
//指數奇數
/**problem:
*輸入a,b,c
*sum = a + a^2 + a^3 + ... + a^b
*求 sum % c
*a(1~10^9) b(1~10^9) c(1~10^9)
*/#include #include #include using namespace std;
#ifndef __int64
#define __int64 long long
#endif
__int64 muli_mod(__int64 a, __int64 b, __int64 c) //二分,快速冪模
a *= a;
a %= c;;
b>>=1;
}return temp;
}__int64 sum(__int64 a, __int64 b, __int64 c) //二分,快速求和
else
}}int main()
{ __int64 a,b,c;
while(cin>>a>>b>>c)
{cout<
二分求冪,快速求冪
1 2 3 4 5 6 7 8 9 10 11 12 intpow3 inta,intb returnr 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 intpow4 intx,intn result x n 1 whil...
常規求冪 二分求冪 快速位求冪
題目描述 給定數字a,b,求a b。思路 解法包括常規求冪 二分求冪 快速求冪 位運算 每一種求法中,要根據b的值進行討論,b 0,0,0。1 常規求冪 常規求冪即是根據ans a a a a。根據b的個數來就行求解 2 二分求冪 二分求冪是可以將乘法進行分組 比如a a a a a a a a a...
常規求冪 二分求冪 快速位求冪
我是因為刷杭電的題目了解到了冪運算,那就貼一下杭電的題目好了 然後在貼一下別人關於冪運算的部落格 題目描述 給定數字a,b,求a b。思路 解法包括常規求冪 二分求冪 快速求冪 位運算 每一種求法中,要根據b的值進行討論,b 0,0,0。1 常規求冪 常規求冪即是根據ans aaa a。根據b的個數...