题解 | #小易的升级之路#
小易的升级之路
http://www.nowcoder.com/practice/fe6c73cb899c4fe1bdd773f8d3b42c3d
#include<stdio.h> //遍历 // int helper(int m, int n) // { // int res = 0; // for(int i=1; i<=n; i++) // { // if(n%i==0 && m%i==0) // { // res = i; // } // } // return res; // } //辗转相除法 int helper(int m, int n) { int tmp = 0; while(m%n != 0) { tmp = m%n; m = n; n = tmp; } return n; } int main() { int n, a; while(scanf("%d %d", &n, &a) != EOF) { for(int i=0; i<n; i++) { int tmp; scanf("%d", &tmp); if(tmp <= a) { a += tmp; } else { a += helper(tmp, a); } } printf("%d\n", a); } return 0; }