0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

友達の結婚式のご祝儀の金額を考える。

Last updated at Posted at 2023-06-25

前書き

結婚式のご祝儀は一般的には3万円とされています。
しかし3万円は2で割り切れるのであんまり良くない数字です。
なので3万円以上で一番小さい素数を探してそれを御祝儀として渡すことにしました。
(これ冷静に考えて結婚するのは2人なので2で割り切れなかったら問題なくないですか?

コード

こんな感じで合っていますか?
その数が素数かどうか判定するのにはfor文で2からn-1まで割れるか確認しなくても
2から$\sqrt(n) $までで良さそうな気がしたのでそれでやってみました。
これ0のときは考えてないんですけど0は素数なので問題ないですね。


public static class PrimeFinder
{
    public static void Main()
    {
        Console.WriteLine("入力した数以上で一番小さい素数を探します。数字を入力してください");
        bool isnum = false;
        int num = 0;
        var input = Console.ReadLine();
        while (!isnum)
        {
            try
            {
                num = Int32.Parse(input);
                isnum = true;
            }
            catch
            {
                Console.WriteLine("数字を入力してください");
                input = Console.ReadLine();
            }
        }
        while (true)
        {
            if (isPrimenumber(num))
            {
                Console.WriteLine("入力された数以上で一番小さい素数は:" + num.ToString());
                break;
            }
            num++;

        }
        Console.WriteLine("任意のキーを入力してください");
        Console.ReadKey();

        bool isPrimenumber(int num)
        {
            for (int i = 2; i * i <= num; ++i)
            {
                if (num % i == 0)
                {
                    return false;
                }
            }
            return true;
        }
    }
}

結果

これ実行してもらったらわかるんですけどご祝儀が3万円の場合は、
一番近い素数は30011円でした。
あんまり小銭がジャラジャラしてなくて楽しくないですね。
友達の結婚式はお料理代が31900円なのでそれで計算すると、
31907円でした。

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?