Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bases = [24, 60, 60]
- input = 86462 #One day, 1 hour, 2 seconds
- output = []
- for base in reverse(bases)
- output.prepend(input mod base)
- input = input div base #div is integer division (round down)
- factors = [52,7,24,60,60,1000]
- value = 662321
- for i in n-1..0
- res[i] = value mod factors[i]
- value = value div factors[i]
- values = [32,5,7,45,15,500]
- factors = [52,7,24,60,60,1000]
- res = 0;
- for i in 0..n-1
- res = res * factors[i] + values[i]
- var theNumber = 313732097;
- // ms s m h d
- var bases = [1000, 60, 60, 24, 365];
- var placeValues = []; // initialise an array
- var currPlaceValue = 1;
- for (var i = 0, l = bases.length; i < l; ++i) {
- placeValues.push(currPlaceValue);
- currPlaceValue *= bases[i];
- }
- console.log(placeValues);
- // this isn't relevant for this specific problem, but might
- // be useful in related problems.
- var maxNumber = currPlaceValue - 1;
- var output = new Array(placeValues.length);
- for (var v = placeValues.length - 1; v >= 0; --v) {
- output[v] = Math.floor(theNumber / placeValues[v]);
- theNumber %= placeValues[v];
- }
- console.log(output);
- // [97, 52, 8, 15, 3] --> 3 days, 15 hours, 8 minutes, 52 seconds, 97 milliseconds
Add Comment
Please, Sign In to add comment