https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2412 困難度 ★ 這題很簡單只是呼叫gcd()自己撰寫的求最大公因數,然後再依題意雙迴圈加起來 求最大公因數的方法有兩種: http://1010code.blogspot.tw/2016/07/q11417-gcd.html
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
while(scn.hasNext()){
int n=scn.nextInt(),g=0;
if(n==0)break;
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
g+=gcd(i,j);
}
}
System.out.println(g);
}
}
public static int gcd(int i,int j){
while((i%=j)!=0&&(j%=i)!=0);
return i+j;
}
/*
題目:Q11417: GCD
作者:1010
時間:西元 2016 年 7 月 */
}