(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?

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
  
#define N 20
  
int gcd(int a, int b)
{
  if(b==0)
    return a;
  else
    return gcd(b,a%b);
}
  
int lcm(int a, int b)
{
  return a/(gcd(a,b))*b;
}
  
  
void solve()
{
   int i,s=2;
   for(i=3; i<=N; i++)
   {
      s=lcm(s,i);
   }
   printf("%d\n",s);
}
  
int main()
{
  solve();
  return 0;
}
Answer:
232792560
posted @ 2014-02-11 14:58  acutus  阅读(116)  评论(0编辑  收藏  举报
TOP