Sobes.tech
Middle

Ar anksčiau susidūrėte su šiuo užduotimi? Kokią matematinę savybę naudojote, kai nusprendėte patikrinti dalijamąją iš 15 vietoj to, kad patikrintumėte vienu metu dalijamąją iš 3 ir 5?

sobes.tech AI

Atsakymas iš AI

Taip, ši užduotis yra žinoma kaip klasikinė FizzBuzz užduotis.

Matematinė savybė, naudojama tikrinant dalijamumą iš 15 vietoj to, kad būtų tikrinamas vienu metu dalijamumas iš 3 ir 5, yra mažiausias bendras daugiklis (MBD).

Paaiškinimas:

  • Skaičius dalijasi iš 15, jei ir tik jei jis dalijasi iš 3 ir 5 vienu metu.
  • Vietoj (num % 3 === 0 && num % 5 === 0) galima patikrinti num % 15 === 0.

Tai supaprastina sąlygą ir pagerina kodo skaitomumą.

Pavyzdys:

for (let i = 1; i <= 100; i++) {
  if (i % 15 === 0) {
    console.log('FizzBuzz');
  } else if (i % 3 === 0) {
    console.log('Fizz');
  } else if (i % 5 === 0) {
    console.log('Buzz');
  } else {
    console.log(i);
  }
}