矩陣乘法的計算

2021-10-12 22:15:43 字數 1348 閱讀 3952

這裡先說一下整數的資料範圍:

int:32位  -2147483648~2147483647。

long long 64位  9223372036854775807

unsigned long long 64位   18446744073709551615   一般在hash的時候用,溢位就相當於取模了

__int128  128位   相對於longlong位數變為原來的2倍了

通過這個函式就可以看出 ll 占用 8個位元組 __128占用 16個位元組

斐波那契的矩陣運算

1303. 斐波那契前 n 項和

大家都知道 fibonacci 數列吧,f1=1,f2=1,f3=2,f4=3,…,fn=fn−1+fn−2f1=1,f2=1,f3=2,f4=3,…,fn=fn−1+fn−2。

現在問題很簡單,輸入 nn 和 mm,求 fnfn 的前 nn 項和 snmodmsnmodm。

輸入格式

共一行,包含兩個整數 nn 和 mm。

輸出格式

輸出前 nn 項和 snmodmsnmodm 的值。

資料範圍

1≤n≤20000000001≤n≤2000000000,

1≤m≤10000000101≤m≤1000000010

輸入樣例:

5 1000
輸出樣例:

12
code:

#include#includeusing namespace std;

typedef long long ll;

const int n = 3;

int n, m;

void mul(int c,int a,int b[n]);

for(int j = 0;j < n; j ++)

}//都改變完了在改變f陣列

memcpy(c, temp, sizeof temp);

}void mul(int c[n],int a[n], int b[n]);//初始化

for(int i =0 ;i < n; i ++)}}

memcpy(c, temp, sizeof temp);

}int main()

; int a[n][n] = ,,};

n --;

while(n)

cout << f[2] << endl;

return 0;

}

計算矩陣乘法

線性代數特別不好算,用程式解決繁瑣的事,電腦最喜歡幹的事就窮舉。比如計算 3行4列矩陣乘以4行5列矩陣。展示 include define m 3 define n 4 define l 5 intmain printf 輸入3行4列矩陣 12個數 n for i 0 iprintf 輸入4行5列矩...

計算矩陣運算的乘法次數

描述 矩陣乘法的運算量與矩陣乘法的順序強相關。例如 a是乙個50 10的矩陣,b是10 20的矩陣,c是20 5的矩陣 計算a b c有兩種順序 ab c 或者 a bc 前者需要計算15000次乘法,後者只需要3500次。編寫程式計算不同的計算順序需要進行的乘法次數 知識點 字串 內部整理 練習階...

矩陣乘法(冪次計算)

給定乙個n階矩陣a,輸出a的m次冪 m是非負整數 例如 a 1 23 4 a的2次冪 7 10 15 22 第一行是乙個正整數n m 1 n 30,0 m 5 表示矩陣a的階數和要求的冪數 接下來n行,每行n個絕對值不超過10的非負整數,描述矩陣a的值輸出 output輸出共n行,每行n個整數,表示...