Hackerrank Polar Coordinates Solution

# Hackerrank Polar Coordinates Solution

Polar coordinates are an alternative way of representing Cartesian coordinates or Complex Numbers.

A complex number

is completely determined by its real part  and imaginary part .
Here,  is the imaginary unit.

A polar coordinate ()

is completely determined by modulus  and phase angle .

If we convert complex number  to its polar coordinate, we find:
: Distance from  to origin, i.e.,
: Counter clockwise angle measured from the positive -axis to the line segment that joins  to the origin.

Python's cmath module provides access to the mathematical functions for complex numbers.

This tool returns the phase of complex number  (also known as the argument of ).>>> phase(complex(-1.0, 0.0))3.1415926535897931

This tool returns the modulus (absolute value) of complex number .>>> abs(complex(-1.0, 0.0))1.0

You are given a complex . Your task is to convert it to polar coordinates.

Input Format

A single line containing the complex number . Note: complex() function can be used in python to convert the input as a complex number.

Constraints

Given number is a valid complex number

Output Format

Output two lines:
The first line should contain the value of .
The second line should contain the value of .

Sample Input

  1+2j


Sample Output

 2.23606797749979
1.1071487177940904


Note: The output should be correct up to 3 decimal places.

### Solution in python3

Approach 1.

import cmath
c = complex(input())
print(abs(c))
print(cmath.phase(c))

Approach 2.

import cmath
c = complex(input().strip())
print("%.3f\n%.3f" % (cmath.polar(c)))

### Solution in python

Approach 1.

import cmath
c = raw_input()
print abs(complex(c))
print cmath.phase(complex(c))

Approach 2.

from math import atan2
z = complex(input())
x,y = z.real, z.imag
r = (x**2+y**2)**.5
phi = atan2(y,x)
print r
print phi

Approach 3.

#!/usr/bin/python
import sys,cmath
if sys.version_info[0]>=3: raw_input=input
c=eval(raw_input())
print(abs(c))
print(cmath.phase(c))

## Enjoying these posts? Subscribe for more

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.