Math problems brainpicking
A list of mathematical programming problems.
Currency palindrome¶
Difficulty: Medium Required Knowledge: Mathemathics and combinatorics
Description: Given an array of currency denominations, find the highest value of possible coins before you can exchange them exactly for the paper note.
Problem Statement: Complete the highestCoinValue function in the editor below. It must return the highest value of possible coin values before you can exchange them exactly for the paper note as a float.
highestCoinValue has the following parameter(s): ar: an array of floats
Input Format: The first line contains the number of n elements in the array. The second line contains the list of n currency denominations space-separated, out of which all represent the coin values, except for the last value in an array which represents the lowest paper note value, floats contained in the array.
Constraints: 0 < ar[i] < ar[n]
Output Format: Print the highest value of possible coin denominations of the array's elements as a single float.
Time Complexity: O(n)
Approach: Count all the coin denominator values, up to the maximal sum before it is possible to exchange it for the lowest paper note.
Keywords: palindrome, currency
#!/bin/python3
#
# Complete the 'highestCoinValue' function below.
#
# The function is expected to return a FLOAT.
# The function accepts FLOAT_ARRAY ar as parameter.
#
def highestCoinValue(ar):
# Find the highest value of possible coins before you can exchange them exactly for the paper note
print('Put your code here')
ar = [0.02, 0.05, 0.2, 0.5, 1.0, 10.0]
result = highestCoinValue(ar)
print(result == 10.43)