(Problem 5)Smallest multiple

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 positive number that is evenly divisible by all of the numbers from 1 to 20?

 1 #include <stdio.h>

 2 #include <string.h>

 3 #include <ctype.h>

 4 #include <math.h>

 5   

 6 #define N 20

 7   

 8 int gcd(int a, int b)

 9 {

10   if(b==0)

11     return a;

12   else

13     return gcd(b,a%b);

14 }

15   

16 int lcm(int a, int b)

17 {

18   return a/(gcd(a,b))*b;

19 }

20   

21   

22 void solve()

23 {

24    int i,s=2;

25    for(i=3; i<=N; i++)

26    {

27       s=lcm(s,i);

28    }

29    printf("%d\n",s);

30 }

31   

32 int main()

33 {

34   solve();

35   return 0;

36 }

 

Answer:
232792560

 

你可能感兴趣的:(IP)