paizaラーニングのレベルアップ問題集「Cランクレベルアップセット」からの出典です。
paiza.jp
C++による「Cランクレベルアップメニュー 」問題集: シミュレーションと、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 条件を満たす最小の自然数
/* C++による「シミュレーション」問題集 STEP: 1 条件を満たす最小の自然数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int ans=0; for(int i=10000; ;i++){ if(i%13==0){ ans=i; break; } } cout<<ans<<endl; return 0; }
・STEP: 2 シミュレーションの練習
/* C++による「シミュレーション」問題集 STEP: 2 シミュレーションの練習 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,a,b; cin>>n>>a>>b; int paiza=1; int kyouko=1; int cnt=0; while(1){ kyouko+=(paiza*a); paiza+=(kyouko%b); cnt++; if(kyouko>n){ break; } } cout<<cnt<<endl; return 0; }
・FINAL問題: シミュレーション
/* C++による「シミュレーション」問題集 FINAL問題: シミュレーション https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h>; using namespace std; int fib(int n){ if(n==0){ return 0; }else if(n<5){ return 1; }else if(n%2==1){ return fib(n-1)+fib(n-3); }else{ return fib(n-3)+fib(n-3)+fib(n-5); } } int main(void){ int h; cin>>h; int cnt=0; for(int i=0;h>0;i++){ if(i%2==0){ h-=fib(i); ++cnt; } } cnt-=1; cout<<cnt<<endl; return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。