zoukankan      html  css  js  c++  java
  • ProjectEuler 1

    最近被腾讯打击到了,下决心开始写技术博客。

    第一件事开始做朋友推荐的Project Euler,网址http://projecteuler.net。练练代码,也练练思想,本周做了8题,均用java实现,希望有看到的人帮忙提提意见

    Problem 1

    求1000以下所有3或者5倍数的数之和

    /**
    * 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.
    */

    代码:

    private static int sumMultiples(int N, int n1) {
    int len = (N - 1) / n1;
    if (len < 1)
    return 0;
    return (1 + len) * len / 2 * n1;
    }

    public static void main(String[] args) {
    int sum = sumMultiples(1000, 5);
    sum += sumMultiples(1000, 3);
    sum -= sumMultiples(1000, 15);
    print(sum);
    }

    思想:入门题,很简单,3或者5的倍数是个等差数列,用等差数列求;然后注意15的倍数既是3也是5的倍数,应当减去。

  • 相关阅读:
    C# Dev PropertyGrid
    C# PropertyGrid控件应用心得
    FileWriter不覆盖
    FileWriter
    java试题
    Java线程池
    java自带线程池和队列详细讲解
    HashMap练习题
    Map集合
    java指定
  • 原文地址:https://www.cnblogs.com/lake19901126/p/3047156.html
Copyright © 2011-2022 走看看