AtCoder Beginner Contest(ABC)の過去問から、その提出コードの解答例です。
AtCoderとは、コンテストを通じて、プログラミングやアルゴリズムを学習するサービスです。
atcoder.jp
プログラミングコンテストとは、「与えられた問題をいかに素早く、正確に」解くことができるかを競うものです。
「競技プログラミング」を略して、「競プロ」などと呼ばれています。
#C - Sum of gcd of Tuples (Easy)
atcoder.jp
僕が作成、提出したコードは、以下のとおりです。
/* AtCoder Problems in C #C - Sum of gcd of Tuples (Easy) https://atcoder.jp/contests/abc162/tasks/abc162_c 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<stdio.h> int get(int a,int b){ int r; r=a%b; if(r==0){ return b; }else{ return get(b,r); } } int gcd(int a,int b,int c){ return get(get(a,b),c); } int main(void){ int K,a,b,c,sum=0; scanf("%d",&K); for(a=1;a<=K;a++){ for(b=1;b<=K;b++){ for(c=1;c<=K;c++){ sum+=gcd(a,b,c); } } } printf("%d",sum); return 0; }
/* AtCoder Problems in C++ #C - Sum of gcd of Tuples (Easy) https://atcoder.jp/contests/abc162/tasks/abc162_c 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<stdio.h> int get(int a,int b){ int r; r=a%b; if(r==0){ return b; }else{ return get(b,r); } } int gcd(int a,int b,int c){ return get(get(a,b),c); } int main(void){ int K,a,b,c,sum=0; scanf("%d",&K); for(a=1;a<=K;a++){ for(b=1;b<=K;b++){ for(c=1;c<=K;c++){ sum+=gcd(a,b,c); } } } printf("%d",sum); return 0; }
AtCoder Beginner Contest(ABC)は、オンラインジャッジによるプログラミングコンテストです。
日本語と英語に対応していて、週末ごとに実施されているみたいです。
https://practice.contest.atcoder.jp/tutorial
アカウントを登録すれば、誰でも参加できます。