首页 > 编程知识 正文

CC 编程学习 第17周 ④ 向量点积计算,向量点积怎么计算

时间:2023-05-04 22:22:45 阅读:273041 作者:930

题目链接

题目描述

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

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

输入格式
第一行是一个整数 n,1 ≤ n ≤ 1000。
第二行包含n个整数,a1,a2…an。
第三行包含n个整数,b1,b2…bn。
相邻整数之间用单个空格隔开。每个整数的绝对值都不超过 1000。

输出格式
一个整数,即两个向量的点积结果。

Sample Input 31 4 62 1 5 Sample Output 36 思路

根据题意进行输入,之后进行相乘和累加。也可以只开一个数组,只写两个for循环,更省时间省空间。

C++代码1:

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

C++代码2:(一个数组,两个for循环)

#include<iostream>using namespace std;const int N = 1e4;int n ,x, res, a[N];int main(){int n;cin >> n;for(int i = 0;i < n;i ++)cin >> a[i];for(int i = 0;i < n;i ++){cin >> x;res += x * a[i];}cout << res;return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。