Problem
We can check for a number to be divisible by 7 if it is of the form 10a + b and a - 2b is divisible by 7.
We continue to do this until a number known to be divisible by 7 is obtained; we can stop when this number has at most 2 digits because we are supposed to know if a number of at most 2 digits is divisible by 7 or not.
We are required to write a JavaScript function that takes in a number and return the number of such steps required to reduce the number to a two-digit number at most and that two digit number.
Input
const num = 1603;
Output
const output = [7, 2];
Because the steps are −
160 - 2*3 = 154 15 - 2*8 = 7
And the final value is 7
Example
Following is the code −
const num = 1603; const findSteps = (num) => { let times = 0; let result = 0; let number = String(num); while(number.length > 2){ times++; let firstNumber = Number(number.slice(-1)) const remaining = Number(number.slice(0, number.length - 1)) result = remaining - 2 * firstNumber number = String(result) } return [result, times] } console.log(findSteps(num));
Output
[7, 2]