(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

 

posted @ 2013-07-26 11:26  cpoint  阅读(187)  评论(0编辑  收藏  举报
浏览次数:travelocity promotion codes