情报学奥赛一本通(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
コード#コード#
#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;
}