09:向量點積計算
- 總時間限制:
- 1000ms
- 記憶體限制:
- 65536kB
- 描述
-
線上性代數、計算幾何中,向量點積是一種十分重要的運算。
給定兩個n維向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求點積a·b=a1b1+a2b2+...+anbn。
- 輸入
- 第一行是一個整數n。1 <= n <= 1000。
第二行包含n個整數a1,a2,...,an。
第三行包含n個整數b1,b2,...,bn。
相鄰整數之間用單個空格隔開。每個整數的絕對值都不超過1000。 - 輸出
- 一個整數,即兩個向量的點積結果。
- 樣例輸入
-
3 1 4 6 2 1 5
- 樣例輸出
-
36
#include<iostream> #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a[10001]; int b[10001]; int tot[10001]; long long int ans; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { cin>>b[i]; } for(int i=1;i<=n;i++) { tot[i]=a[i]*b[i]; } for(int i=1;i<=n;i++) { ans=tot[i]+ans; } cout<<ans; return 0; }