情报学奥赛一本通(C++)オンライン评测システム——基础(一)C++言语——1108:ベクトル点积计算
4497 ワード
時間制限:1000 msメモリ制限:65536 KBコミット数:6036パス数:4909
【タイトル説明】
線形代数、計算ジオメトリでは、ベクトル点積は非常に重要な演算です.2つのn次元ベクトルa=(a 1,a 2,...,an)とb=(b 1,b 2,...,bn)を与え、点積a・b=a 1 b 1+a 2 b 2+...+anbnを求める.
【入力】
第1行は整数n(1≦n≦1000)である.2行目はn個の整数a 1,a 2,...,anを含む.3行目はn個の整数b 1,b 2,...,bnを含む.隣接する整数の間を1つのスペースで区切ります.各整数の絶対値は1000を超えません.
【出力】
1つの整数、すなわち2つのベクトルの点積結果.
【入力サンプル】
3 1 4 6 2 1 5
【出力サンプル】
36
【出所】
NO
コード#コード#
【タイトル説明】
線形代数、計算ジオメトリでは、ベクトル点積は非常に重要な演算です.2つのn次元ベクトルa=(a 1,a 2,...,an)とb=(b 1,b 2,...,bn)を与え、点積a・b=a 1 b 1+a 2 b 2+...+anbnを求める.
【入力】
第1行は整数n(1≦n≦1000)である.2行目はn個の整数a 1,a 2,...,anを含む.3行目はn個の整数b 1,b 2,...,bnを含む.隣接する整数の間を1つのスペースで区切ります.各整数の絶対値は1000を超えません.
【出力】
1つの整数、すなわち2つのベクトルの点積結果.
【入力サンプル】
3 1 4 6 2 1 5
【出力サンプル】
36
【出所】
NO
コード#コード#
#include
int main ()
{
int n;
scanf("%d",&n);
int a[n],b[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
int sum=0;
for(int i=0;i<n;i++)
{
sum+=a[i]*b[i];
}
printf("%d",sum);
return 0;
}