2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest number that is evenly divisible by all of the numbers from 1 to 20?
Luam toti multiplii lui 20 si vedem daca is divizibili intre numerele din intervalul 11-19. De ce 11-19 daca in problema zice 1-20. Deoarece 1-10 sunt divizori ale numerelor 11-20, adica 12 = 6*2 adica 12 = 3*2*2*1 si doar din numarul 12 ne dam seama ca putem sari peste numerele 6,3,2,1. Numarul 16 = 4*4= 2*2*2*2 asa ca scoatem numerele 4,2,1. Deci cum ziceam ca putem sa sarim peste numerele 1-10. Si de ce sarim peste numarul 20, deoarece numarul pe care il probam e un multiplu al lui 20 asa ca prin definitie e divizibil cu 20.
- bool done = false;
- UInt32 last = 20; // in last o sa se salveze numarul divizibil intre numerele din intervalul 1-20
- int x = 2;
- while (!done) {
- last = (UInt32)(20 * x);
- done = true;
- // incepem de la 11 numerele mai mici is divizori ale numerelor 11-20 si terminam la 19 deoarece last este un multiplu al lui 20
- for (int u = 11; u < 20; u++) {
- if (last % u != 0) {
- done = false;
- x++;
- break;
- }
- }
- }
Welcome to BitCell. Click here to register !