[C++問題] Project Euler Problem 1

Project EulerのをC++で解く.

目次

問題

Multiples of 3 or 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.

https://projecteuler.net/problem=1

英語わからない.和訳くれ

和訳

3と5の倍数10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる.
同じようにして, 1000 未満の 3 か 5 の倍数になっている数字の合計を求めよ.

解答

[su_accordion][su_spoiler title=”解答を表示” open=”no” style=”fancy” icon=”plus” anchor=”” anchor_in_url=”no” class=”my-custom-spoiler”]

233168

[/su_spoiler]

プログラム

3の倍数と5の倍数の判定を行う簡単な問題である.

nの倍数かどうか判定するためには,nで割り切れるかを判定すれば良い.

ソースコード

[su_accordion][su_spoiler title=”ソースコードを表示” open=”no” style=”fancy” icon=”plus” anchor=”” anchor_in_url=”no” class=”my-custom-spoiler”]

#include <iostream>

namespace
{
    bool IsDivisible(const long &target, const long &div)
    {
        if (target % div == 0)
        {
            return true;
        }
        return false;
    }
}

int main ()
{
    long answer = 0;
    const long minimum_number = 1;
    const long maximum_number = 1000;

    for (long = minimum_number ; num < maximum_number; ++num)
    {
        if (IsDivisble(num, 3) || IsDivisble(num, 5))
        {
            answer += num;
        }
    }
    std::cout << "Answer is " << answer << std::endl;
    return 0;
}

[/su_spoiler]

ソースコード(アルゴリズム)説明

ある値が割り切れるかを判定する関数

  • 余り(剰余)がゼロの場合,True
  • 余り(剰余)がゼロでない場合,False
bool IsDivisible(const long &target, const long &div)
{
    if (target % div == 0)
    {
        return true;
    }
    return false;
}

実行

$ g++ -O3 -o problem1 main.cpp
$ ./problem1
Answer is 233168

リポジトリ(GitLab)

Project Eulerの問題をまとめたものはこちらのリポジトリにあるので,確認してみてください(⌒∇⌒)

最後に

内容に誤りや不具合,ご意見があればコメントを残して頂けるとありがたいです

アルゴリズム勉強のおすすめ書籍

アルゴリズムは,プログラミング言語自体の勉強ではなく,問題を解決するための手順や方法のこと.

プログラミング言語の基礎を身に付けた後に学ぶものがアルゴリズムである.

効率的や高速なプログラムを書くことが出来るようになるだろう.

あわせて読みたい
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 | 渡部 有隆, Ozy(協力), 秋葉 拓哉(協... Amazonで渡部 有隆, Ozy(協力), 秋葉 拓哉(協力)のプログラミングコンテスト攻略のためのアルゴリズムとデータ構造。アマゾンならポイント還元本が多数。一度購入いた...
あわせて読みたい
プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニ... Amazonで秋葉 拓哉, 岩田 陽一, 北川 宜稔のプログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~。ア...
あわせて読みたい
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書 | Thomas H. Cormen, Clifford Stein, R... AmazonでThomas H. Cormen, Clifford Stein, Ronald L. Rivest, Charles E. Leiserson, 浅野 哲夫, 岩野 和生, 梅尾 博司, 山下 雅史, 和田 幸一のアルゴリズムイントロダ...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次