if・for・関数を書き換える

アルゴリズムは同じでも、括弧と型の宣言が増えます。まず短いループを対応させましょう。

言語:C++ / 計算量:例の処理による

前提:listからvectorへ

考え方

  1. for(int i=0;i<n;i++) が range(n)。
  2. if(x%2==0){...} で条件分岐。
  3. 関数は返り値の型と引数の型を明記します。

具体例

def square(x): return x*x は long long square(long long x){return x*x;}。

実装

#include <iostream>
using namespace std;
long long square(long long x){return x*x;}
int main(){for(int i=1;i<=3;i++)cout<<square(i)<<"\n";}

注意する条件

C++の &&, ||, ! は Pythonの and, or, not に対応。比較の連鎖 a<b<c は同じ意味になりません。

確認問題

1≤x≤5 を判定する条件は? A:1<=x<=5 B:1<=x&&x<=5(A/B)

解答と理由

B

C++では比較結果がboolになって次の比較に渡るため、連鎖せず && で結びます。

実装課題

N≤1000 を読み、1..N の偶数の和をforで求める。

入力:
5
出力:
6
参考実装
#include <iostream>
using namespace std;
int main(){int n;cin>>n;int s=0;for(int i=1;i<=n;i++){if(i%2==0)s+=i;}cout<<s<<"\n";}

読了の記録・下書き・メモへ

関連する公式資料・課題