09:向量點積計算

自為風月馬前卒發表於2017-03-01

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;
}

 

相關文章