/*
第一题:
描述:
If we list all the natural numbers below 10
that are multiples of 3 or 5, we get 3, 5, 6 and 9.
The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
*/

#include <stdio.h>
#include <stdlib.h>

#define TEST 1           //编程之前就应该考虑测试(运行时将1改为0)

#if TEST
  #define END_NUM       10       //问题给出的常数  
  #define SUM               23
#else
  #define END_NUM       1000       
#endif

  #define BEGIN_NUM     1       
  #define FAC_1             3
  #define FAC_2             5

int sum_of_mul (const int ,const int ,const int ,const int ) ;

int main( void )
{
   printf ( "the sum of all the multiples"   //太长的string literal
            " of %d or %d below %d " ,      //可以用这种方法“分割”
            FAC_1 , FAC_2 , END_NUM       
           ); 
   printf ( "is  %d.\n",
            sum_of_mul ( BEGIN_NUM , END_NUM , FAC_1 , FAC_2  )
           );

              
 #if TEST
   printf ( "= %d\n", SUM ) ;             
 #else
 #endif
 
   system("PAUSE"); 
   return 0;
}

int sum_of_mul (const int begin ,const int end ,
                        const int fac1  ,const int fac2 )
{
    int sum = 0 ;
    int i ;
    for( i = begin ; i < end ; i ++ )
      {
         if ( i % fac1 == 0 || i % fac2 == 0 )
           {
             sum += i ;  
           } 
      }
    return sum ;
}

参考博文
http://www.cnblogs.com/zhouyinhui/archive/2011/01/05/1926769.html

相关文章:

  • 2021-06-26
  • 2021-05-26
  • 2021-09-12
  • 2021-05-24
  • 2021-09-14
  • 2021-10-03
  • 2021-11-09
  • 2021-12-29
猜你喜欢
  • 2021-09-11
  • 2022-01-18
  • 2022-01-10
  • 2021-09-09
  • 2022-01-11
  • 2021-08-07
  • 2022-02-19
相关资源
相似解决方案