アルゴ式(beta版)の「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)からの出典です。
algo-method.com
アルゴ式とは...
>・プログラミングや情報科学をコツコツ学べる「教科書」
>・学んだ内容をゲーム感覚で大量に実践できる「練習問題」
>の2つで構成される、Web上で完結した学習コンテンツです。
C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例
僕が作成、提出したコードは、以下のとおりです。
問題 1
/* C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例 問題 1 https://algo-method.com/tasks/275 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a; cin>>a; cout<<a/3*2<<endl; return 0; }
・問題 2
/* C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例 問題 2 https://algo-method.com/tasks/276 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a; cin>>a; if(a%3==0){ int y=a/3; int x=y*2; cout<<x<<endl; }else{ cout<<-1<<endl; } return 0; }
・問題 3
/* C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例 問題 3 https://algo-method.com/tasks/277 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a,k; cin>>a>>k; if(a%(k+1)==0){ cout<<a/(k+1)*k<<endl; }else{ cout<<-1<<endl; } return 0; }
・問題 4
/* C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例 問題 4 https://algo-method.com/tasks/279 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a,b,k; cin>>a>>b>>k; if((b-a)%(k+1)==0){ int c=(b-a)/(k+1); int d=(b-a)/(k+1)*k+a; if(c<0 || d<0){ cout<<-1<<endl; }else{ cout<<d<<endl; } }else{ cout<<-1<<endl; } return 0; }
・問題 5
/* C++による「論理的思考力を鍛える!文章題 (beta)」分配算 1 (プログラミング)の解答例 問題 5 https://algo-method.com/tasks/278 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a,b,k; cin>>a>>b>>k; if((a+b)%(k+1)==0){ int c=(a+b)/(k+1); int d=(a+b)/(k+1)*k-a; if(c<0 || d<0){ cout<<-1<<endl; }else{ cout<<d<<endl; } }else{ cout<<-1<<endl; } return 0; }
設問の出典は、情報科学をコツコツ積み立てて学習できるサービス「アルゴ式(beta版)」です。
algo-method.com