for
文を使って、等差数列を実現する!
問題概要
初項が 、末項が 、公差が であるような等差数列を出力せよ。
なお、そのような等差数列が存在する入力のみが与えられる。
考えたこと
等差数列の中でも、次のようなものは我々はいつも実装している!
これは次のような for
文で書ける。
for (int i = 0; i < N; i++) { }
今回出力したい数列は、次のように、 ずつ大きくなっていくものである。
これは、上の for
文の更新部分「i++
」を少し変更して、「i += D
」とすることで実現できるのだ。また、for
文の初期値と継続条件も変更しよう。
具体的には、次のような for
文を書けば良い。
- 初期値:
i = A
- 継続条件:
i <= B
- 更新式:
i += D
コード
#include <bits/stdc++.h> using namespace std; int main() { int A, B, D; cin >> A >> B >> D; for (int i = A; i <= B; i += D) { cout << i << " "; } cout << endl; }