JSFiddle - React, Tailwind, and code Playground
by tomexx
JavaScript
var checkCrossing = function(clock_bad, clock_good) {
if((clock_good - clock_bad >= 0) && (clock_good - clock_bad <= 1)) {
return true;
} else {
return false;
}
}
var clocks = function(clock_bad, clock_good) {
var numberOfCrossings = 0;
for(var i = 0; i <= 23; i++) {
if(checkCrossing(clock_bad, clock_good)) {
numberOfCrossings++;
console.log("crossed at: " + clock_bad + " " + clock_good);
}
clock_bad--;
if(clock_bad === -1) {
clock_bad = 23;
}
clock_good++;
if(clock_good === 24) {
clock_good = 0;
}
console.log(clock_bad + " " + clock_good);
}
// double the results because analogue clock has 12 steps, not 24
numberOfCrossings *= 2;
console.log("result for " + clock_bad + ", " + clock_good + " => " + numberOfCrossings + " crossings on analogue clock");
console.log("---------------------------------------------");
};
clocks(0, 0);
clocks(2, 5);
clocks(16, 23);