實作出題目中的最大公因數函式GCD(),接著照上面的Code算出答案即可得解。
C++(0.198)
/*******************************************************/
/* UVa 11417 GCD */
/* Author: Maplewing [at] knightzone.studio */
/* Version: 2015/05/13 */
/*******************************************************/
#include <iostream>
#include <cstdio>
using namespace std;
int GCD(int i, int j){
while( ( i %= j ) && ( j %= i ) );
return i + j;
}
int main(){
int N, G;
while( scanf("%d", &N) != EOF && N != 0 ){
G = 0;
for( int i = 1 ; i < N ; i++ ){
for( int j = i + 1 ; j <= N ; j++ )
{
G += GCD(i,j);
}
}
printf("%d\n", G);
}
return 0;
}