if・for・関数を書き換える
アルゴリズムは同じでも、括弧と型の宣言が増えます。まず短いループを対応させましょう。
言語:C++ / 計算量:例の処理による
考え方
- for(int i=0;i<n;i++) が range(n)。
- if(x%2==0){...} で条件分岐。
- 関数は返り値の型と引数の型を明記します。
具体例
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";}