ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

第二回全国統一プログラミング王決定戦予選 A - Sum of Two Integers

しばらく競プロから離れてました、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/nikkei2019-2-qual/tasks/nikkei2019_2_qual_a)にて開催されました、第二回全国統一プログラミング王決定戦予選 A問題「A - Sum of Two Integers」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

合計が N となるように相異なる 2 つの正整数を選ぶ方法は何通りあるでしょうか (順序は考慮しません)。

2.制約

  • 1 ≦ N ≦ 106
  • N は整数である。

3.入力例

  • 入力
4
  • 出力
1

4.初見の感想

  • 2つにわけるので、偶数の時ならちょうど半分ずつ分けることができるパターンがある

    5.学びポイント

  • 2つに分けた時に小さい方の数字は何通りあるか?
  • 「N÷2通り」と言いたいところだが、N÷2は整数と限らないので偶数奇数で場合分け

    6.コードと簡単な解説

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        string input = Console.ReadLine();
        int N = int.Parse(input);
        if (N % 2 == 1) { Console.WriteLine(N/2); }
        else { Console.WriteLine(N / 2 - 1); }
    }
}

7.最後に

これからも自分のペースでがんばります!