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

2 Answers

0 votes
#include <stdio.h>
 
// LCM = Least Common Multiple
int LCM(int a, int b) {
    int lcmval = (a > b) ? a : b;
      
    while(1) {
        if (lcmval % a == 0 && lcmval % b == 0) {
            return lcmval;
        }
        lcmval++;
    }
}
  
int main(void)
{
    unsigned int result = 1;
   
    for (int i = 1; i <= 10; i++) {
        result = LCM(result, i);
    }
   
    printf("%d", result);
   
    return 0;
}
 
 
 
/*
run:
 
2520
 
*/

 



answered Oct 17, 2023 by avibootz
edited May 11, 2025 by avibootz
0 votes
#include <stdio.h>
  
// LCM = Least Common Multiple
int LCM(int a, int b) {
    int lcmval = (a > b) ? a : b;
       
    while(1) {
        if (lcmval % a == 0 && lcmval % b == 0) {
            return lcmval;
        }
        lcmval++;
    }
}
   
int main(void)
{
    unsigned int result = 1;
    
    for (int i = 1; i <= 10; i++) {
        printf("result = %d i = %d\n", result, i);
        result = LCM(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
2520
  
*/

 



answered Oct 17, 2023 by avibootz
edited May 11, 2025 by avibootz
...