Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,895 questions

51,826 answers

573 users

How to find the smallest number that is evenly divisible by all of the numbers from 1 to 20 in C

2 Answers

0 votes
#include <stdio.h>

// LCM  = Least Common Multiple
int LMC(int a, int b) {
    int lmc = (a > b) ? a : b;
     
    while(1) {
        if (lmc % a == 0 && lmc % b == 0) {
            return lmc;
        }
        lmc++;
    }
}
 
int main(void)
{
  unsigned int result = 1;
  
  for (int i = 1; i <= 20; i++) {
        printf("result = %d i = %d\n", result, i);
        result = LMC(result, i);
        printf("result = %d\n", result);
  }
  
  printf("%d", result);
  
  return 0;
}



/*
run:

result = 1 i = 1
result = 1
result = 1 i = 2
result = 2
result = 2 i = 3
result = 6
result = 6 i = 4
result = 12
result = 12 i = 5
result = 60
result = 60 i = 6
result = 60
result = 60 i = 7
result = 420
result = 420 i = 8
result = 840
result = 840 i = 9
result = 2520
result = 2520 i = 10
result = 2520
result = 2520 i = 11
result = 27720
result = 27720 i = 12
result = 27720
result = 27720 i = 13
result = 360360
result = 360360 i = 14
result = 360360
result = 360360 i = 15
result = 360360
result = 360360 i = 16
result = 720720
result = 720720 i = 17
result = 12252240
result = 12252240 i = 18
result = 12252240
result = 12252240 i = 19
result = 232792560
result = 232792560 i = 20
result = 232792560
232792560

*/

 



answered Oct 17, 2023 by avibootz
0 votes
#include <stdio.h>

// LCM  = Least Common Multiple
int LMC(int a, int b) {
    int lmc = (a > b) ? a : b;
     
    while(1) {
        if (lmc % a == 0 && lmc % b == 0) {
            return lmc;
        }
        lmc++;
    }
}
 
int main(void)
{
  unsigned int result = 1;
  
  for (int i = 1; i <= 20; i++) {
        result = LMC(result, i);
  }
  
  printf("%d", result);
  
  return 0;
}



/*
run:

232792560

*/

 



answered Oct 17, 2023 by avibootz
...