向量点积计算

2023-12-15 14:12:43

题目描述

在线性代数、计算几何中,向量点积是一种十分重要的运算。

给定两个?n?维向量 a=(a1?,a2?,?,an?)?和b=(b1?,b2?,?,bn?),求点积a·b=a1?b1?+a2?b2?+?+an?bn?。

输入格式

第一行是一个整数?n。1≤n≤1000。

第二行包含?n?个整数?a1?,a2?,?,an?。

第三行包含?n?个整数 b1?,b2?,?,bn?。

相邻整数之间用单个空格隔开。每个整数的绝对值都不超过?1000。

输出格式

一个整数,即两个向量的点积结果。

输入输出样例

输入 #1

3
1 4 6
2 1 5

输出 #1

36

所以,知道提我们可以用以下代码求a·b:

int s=0; //用来计算a·b
for(int i=1;i<=n;i++){
    s+=a[i]*b[i]
}

?所以,我们只需要把上面的代码代入进去,就有了成品代码了:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a[10005],b[10005];
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		cin>>b[i];
	}
	int s=0;
	for(int i=1;i<=n;i++){
		s+=a[i]*b[i];
	}
	cout<<s; 
	return 0;
}

文章来源:https://blog.csdn.net/Dream_MC_LZR/article/details/135014324
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。