【JAVA】UVA 11417 - GCD
Sample Input
10
100
500
0
Sample Output
67
13015
442011
題目大意:題目已經把程式碼給了,只需要再寫一個最大公因式的副程式。
透過輾轉相除法求最大公因式,重複執行大減小
- 其中一方結果為1,表示互質
- 其中一方結果為0,另一數為GCD
import java.util.*;
public class main{
public static int GCD(int i ,int j){
return (j==0) ? i : GCD(j , i%j);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int G=0,N=sc.nextInt();
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);
}
}
};