1. 程式人生 > >基礎練習:1108:向量點積計算

基礎練習:1108:向量點積計算

1108:向量點積計算
【題目描述】
線上性代數、計算幾何中,向量點積是一種十分重要的運算。給定兩個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>
using namespace std;
int main()
{   int i,n,a[1001],b[1001],result=0;
    cin>>n;
    for(i=1;i<=n;i++) cin>>a[i];                        //for語句迴圈和分開寫有什麼區別?為什麼答案不一樣?
	  for(i=1;i<=n;i++) cin>>b[i];
	  for(i=1;i<=n;i++) result+=a[i]*b[i];

    cout<<result<<endl;
    return 0;
}