[You may use arrays]

Credit Card Number Validation

Payment card usage in Egypt is on a steady rise. According to the CBE report there are over 22 million active

debit and credit cards in Egypt. This means that vendors accepting payments through these cards need to

have a way of validating the card numbers before attempting to process the payment.

Luckily there is a systematic way to validate card numbers.

- First verify the number of digits is valid (between 14 and 16)
- Starting from the right multiply each second digit by 2. If the result of the multiplication is more than

1 digit add the digits together until you have a single digit. - Sum the digits from the previous step.
- Sum the digits that had not been multiplied by 2 in step 2
- Add the results from step 3 and 4 together
- If the result is divisible by 10 then the number is valid

Write a program that takes a credit card number as input and checks its validity.

• Implement and make use of the following functions:

o A function that takes a card number and returns its validity (true/false)

o A function that takes a card number and calculates the sum described in points 2 & 3 above.

o A function that takes a card number and calculates the sum described in point 4 above.

o A function that takes an integer and returns it as it is if it’s a single digit, otherwise it returns

the sum of the 2 digits.