You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Hackerrank Array Mathematics Solution

Hackerrank Array Mathematics Solution

Beeze Aal
Beeze Aal

Basic mathematical functions operate element-wise on arrays. They are available both as operator overloads and as functions in the NumPy module.

import numpy

a = numpy.array([1,2,3,4], float)
b = numpy.array([5,6,7,8], float)

print a + b                     #[  6.   8.  10.  12.]
print numpy.add(a, b)           #[  6.   8.  10.  12.]

print a - b                     #[-4. -4. -4. -4.]
print numpy.subtract(a, b)      #[-4. -4. -4. -4.]

print a * b                     #[  5.  12.  21.  32.]
print numpy.multiply(a, b)      #[  5.  12.  21.  32.]

print a / b                     #[ 0.2         0.33333333  0.42857143  0.5       ]
print numpy.divide(a, b)        #[ 0.2         0.33333333  0.42857143  0.5       ]

print a % b                     #[ 1.  2.  3.  4.]
print numpy.mod(a, b)           #[ 1.  2.  3.  4.]

print a**b                      #[  1.00000000e+00   6.40000000e+01   2.18700000e+03   6.55360000e+04]
print numpy.power(a, b)         #[  1.00000000e+00   6.40000000e+01   2.18700000e+03   6.55360000e+04]

Task

You are given two integer arrays,  and  of dimensions X.
Your task is to perform the following operations:

  1. Add ( + )
  2. Subtract ( - )
  3. Multiply ( * )
  4. Integer Division ( / )
  5. Mod ( % )
  6. Power ( ** )

Input Format

The first line contains two space separated integers,  and .
The next  lines contains  space separated integers of array .
The following  lines contains  space separated integers of array .

Output Format

Print the result of each operation in the given order under Task.

Sample Input

1 4
1 2 3 4
5 6 7 8

Sample Output

[[ 6  8 10 12]]
[[-4 -4 -4 -4]]
[[ 5 12 21 32]]
[[0 0 0 0]]
[[1 2 3 4]]
[[    1    64  2187 65536]] 

Use // for division in Python 3.

Solution in python3

Approach 1.

import numpy
n,m = map(int,input().split())
a = numpy.array([input().split() for _ in range(n)],int)
b = numpy.array([input().split() for _ in range(n)],int)
print(a+b,a-b,a*b,a//b,a%b,a**b,sep="\n")

Approach 2.

import numpy
n,m=map(int,input().split())
A=numpy.array([list(map(int,input().split())) for i in range(n)])
B=numpy.array([list(map(int,input().split())) for i in range(n)])
print(A+B,A-B,A*B,A//B,A%B,A**B,sep='\n')

Approach 3.

from numpy import *
n,m = map(int,input().split())
a = array([[int(x) for x in input().split()] for _ in range(n)],int)
b = array([[int(x) for x in input().split()] for _ in range(n)],int)
print(a+b,a-b,a*b,a//b,a%b,a**b,sep = '\n')

Solution in python

import numpy
N, M= map(int, raw_input().split())
A = numpy.array([map(int, raw_input().split()) for i in range(N)])
B = numpy.array([map(int, raw_input().split()) for i in range(N)])
print A+B
print A-B
print A*B
print A / B
print A % B
print A**B