題意:輸入兩個非負整數a、b和正整數n,你的任務是計算f(a^b)除以n的餘數。f[0]=0,f[1]=1,f[i+2]=f[i+1]+f[i]。
思路:因為餘數最多n種,所以最多n^2項就會出現重複。計算出週期,之後冪取模算出週期內的第幾個數。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7using
namespace
std;89
10const
int maxn = 1000 + 5
;11 typedef unsigned long
long
ll;12
13ll a, b;
14int
n;15
intm;
1617
int pow_mod(ll a, ll b, int
m) 18
2526
int f[maxn*maxn], period[maxn];
2728
int solve(ll a, ll b, int
n) 33
34int
main()
3552
}53 cout << solve(a, b, n) <55 }
Uva 11582 巨大的斐波那契數 模運算
題意 計算 f a b n 分析 1 斐波那契數列是 f i 2 f i 1 f i 2 詢問次數是10 4,打表處理 設 f n,i 是 f i n 的餘數 3 根據模運算可以知道 f n,i f n,i 1 f n,i 2 n 4 a b的處理了,a,b 2 64,資料很大,但是可以發現乙個特徵...
uva11582 斐波拉切數列迴圈節 尤拉定理降冪
the i th fibonacci number f i is recursively defined in the following way f 0 0 and f 1 1 f i 2 f i 1 f i for every i 0 your task is to compute some v...
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...