将两个不同数组中的元素相乘

编程入门 行业动态 更新时间:2024-10-09 01:19:58
本文介绍了将两个不同数组中的元素相乘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试将两个不同数组中的每个元素相乘。我的意思是,我有 array1 = [i1,i2] 和 array2 = [j1,j2] 做(i1 * j1)+(i2 * j2)。如何在Rust中解决这个问题?我一直在研究《书》,发现了一些可能有帮助的方法:地图和折叠。但是我有点迷路了。

I'm trying to multiply each element from two different arrays. I mean, I have array1 = [i1 , i2] and array2 = [j1, j2] so I need to do (i1 * j1) + (i2 * j2). How can I approach this in Rust? I've been researching in The Book and saw some methods that possibly could help: map and fold. But I'm a bit lost. Thanks in advance!

fn sum_product(a: [f32], b: [f32]) -> [f32] { unimplemented!(); } fn main() { let a: [f32; 2] = [2.0, 3.0]; let b: [f32; 2] = [0.0, 1.0]; }

推荐答案

混合使用 zip 和 map :

fn sum_product(a: &[f32], b: &[f32]) -> f32 { a.iter() .zip(b.iter()) .map(|(a, b)| a * b) .sum() } fn main() { let a = [2.0, 3.0]; let b = [0.0, 1.0]; assert_eq!(3.0, sum_product(&a, &b)); }

更多推荐

将两个不同数组中的元素相乘

本文发布于:2023-11-30 13:39:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1650184.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组中   元素   两个

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!