スクリーンショット_2019-08-07_23

【C++】forを1つ飛ばしで繰り替えし処理する方法

はじめに

for文を使う際、
以下の様にカウントの数だけ繰り返し処理を行って使うことが多いです。

int n = 3;
for (int i = 0; i <= n; i++)
{
    cout << i << endl;
}

出力結果

0
1
2
3


ただ、1つ飛ばしてnが偶数の時だけ処理したい、または奇数の時だけ処理したい場合は、以下のようにすると実現可能です。

偶数の時だけ処理する場合

i = 0から初めて、「i+=2」でカウントを2づつ足していきます。

int n = 8;
for (int i = 0; i <= n; i+=2)
{
    cout << i << endl;
}

出力結果

0
2
4
6
8

奇数の時だけ処理する場合

i = 1から初めて、「i+=2」でカウントを2づつ足していきます。

int n = 8;
for (int i = 1; i <= n; i+=2)
{
    cout << i << endl;
}

出力結果

1
3
5
7


AtCoderの参考問題

上記の手法が使えるAtCoderの問題も紹介しておきます。

AtCoder Beginner Contest 106B - 105


閲覧ありがとうございます。 コンテンツをいいねと思ってくださった方にサポートいただけると大変嬉しいです!