zoukankan      html  css  js  c++  java
  • 也来做下欧拉项目练习题: 题目001

    /*
    第一题:
    描述:
    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

  • 相关阅读:
    COM编程-注册DLL形式的COM服务器
    控制台console使用MFC库函数,Cout输出CString的方法
    [C#]窗体切换--避免开启多个线程
    OpenCV配置使用版
    Dependency Walker使用说明
    TCP粘包和半包的处理方法
    GENERATED_UCLASS_BODY 和 GENERATED_BODY 区别
    c++ 的 坑真多之头文件
    Introduction to replication 翻译
    c++ 的 static_cast
  • 原文地址:https://www.cnblogs.com/KBTiller/p/1972414.html
Copyright © 2011-2022 走看看