Hackerrank Array Mathematics Solution

Hackerrank Array Mathematics Solution

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

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe