栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

力扣每日一题2022-02-25中等题:复数乘法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

力扣每日一题2022-02-25中等题:复数乘法

复数乘法

题目描述思路

模拟

Python实现Java实现


题目描述

复数乘法


思路 模拟

对于给定的两个复数num1和num2,首先分别得到两个复数的实部和虚部,然后计算两个复数的乘法。用real1和imag1分别表示num1的实部和虚部,用real2,和imag2分别表示num2的实部和虚部,则乘法计算结果为
( r e a l 1 + i m a g 1 ∗ i ) ∗ ( r e a l 2 + i m a g 2 ∗ i ) = ( r e a l 1 ∗ r e a l 2 − i m a g 1 ∗ i m a g 2 ) + ( r e a l 1 ∗ i m a g 2 + r e a l 2 ∗ i m a g 1 ) ∗ i (real1+imag1*i) * (real2+imag2*i) = (real1*real2-imag1*imag2) + (real1*imag2+real2*imag1) * i (real1+imag1∗i)∗(real2+imag2∗i)=(real1∗real2−imag1∗imag2)+(real1∗imag2+real2∗imag1)∗i
得到乘积后,将乘积转为字符串形式返回。

Python实现
class Solution:
    def complexNumberMultiply(self, num1: str, num2: str) -> str:
        real1, imag1 = map(int, num1[:-1].split('+'))
        real2, imag2 = map(int, num2[:-1].split('+'))
        return f'{real1*real2-imag1*imag2}+{real1*imag2+imag1*real2}i'
Java实现
class Solution {
    public String complexNumberMultiply(String num1, String num2) {
        String[] complex1 = num1.split("\+|i");
        String[] complex2 = num2.split("\+|i");
        int real1 = Integer.parseInt(complex1[0]), imag1 = Integer.parseInt(complex1[1]);
        int real2 = Integer.parseInt(complex2[0]), imag2 = Integer.parseInt(complex2[1]);
        return String.format("%d+%di", real1*real2-imag1*imag2, real1*imag2+real2*imag1);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号