# COMPLEXMULT -Editorial

Practice

Author: Kunal Demla
Editorialist: Kunal Demla

Easy

# PREREQUISITES:

Strings, Complex Number

# PROBLEM:

Given 2 Complex numbers, output the product.

# QUICK EXPLANATION:

We store them separately in integers and then multiply them for the final answer.

# EXPLANATION:

We study how the number is stored in the string and use the same to extract out the numbers as integers which are then used to multiply and form the answer.

# SOLUTIONS:

Setter's Solution
``````#include<bits/stdc++.h>
using namespace std;
#define ll long long int

void solve()
{
ll n=0,m=0,x=0,y=0,i,j,k;
string s1,s2;
cin>>s1>>s2;
int flag1=0,flag2=-1;
if(s1[0]=='-')
flag1=1;
for(i=flag1;i<s1.length();i++){
if(flag2==-1){
if(s1[i]<='9'&&s1[i]>='0'){
n=n*10+(s1[i]-'0');
}
else if(s1[i]=='-')
flag2=1;
else
flag2=0;
}
else{
if(s1[i]<='9'&&s1[i]>='0'){
m=m*10+(s1[i]-'0');
}
}
}
if(flag1)
n*=-1;
if(flag2)
m*=-1;

flag1=0;flag2=-1;
if(s2[0]=='-')
flag1=1;
for(i=flag1;i<s2.length();i++){
if(flag2==-1){
if(s2[i]<='9'&&s2[i]>='0'){
x=x*10+(s2[i]-'0');
}
else if(s2[i]=='-')
flag2=1;
else
flag2=0;
}
else{
if(s2[i]<='9'&&s2[i]>='0'){
y=y*10+(s2[i]-'0');
}
}
}
if(flag1)
x*=-1;
if(flag2)
y*=-1;

int reala,imga;
reala= (n*x) - (m*y);
imga= (n*y) + (x*m);
cout<<reala<<(imga>=0?"+":"")<<imga<<"i";
}

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

int t=1;
cin>>t;
int n=t;
while(t--)
{
solve();
cout<<"\n";
}

cerr<<"time taken : "<<(float)clock()/CLOCKS_PER_SEC<<" secs"<<endl;
return 0;
}
``````