codeforces 389A(Fox and Number Game) 简单的欧几里德算法 Java
2017-07-18 21:26
573 查看
欧几里德算法入门!!!
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.Scanner; /** * 题意:给出n个数,执行n次操作,要求执行操作之后,使得这n个数的总和最小。 * 操作是:取出下标 i 和 j 的数,如果有num[i] > num[j], * 则可以执行 num[i] = num[i] - num[j]。 * * 分析:其实就是求 n 个数的最大公约数gcd,之后结果 = gcd × n 。 * * 方案:例如求 3 个数的最大公约数:gcd(gcd(a,b),c) * @author TinyDolphin */ public class Main { //欧几里德:求两个数的最大公约数 private static int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } public static void main(String[] args) { Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in))); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); int inputN; int inputNum; while (in.hasNext()) { inputN = in.nextInt(); int temp = inputN; int gcd = in.nextInt(); while (temp-- != 1) { inputNum = in.nextInt(); gcd = gcd(gcd, inputNum); } out.println(gcd * inputN); } out.flush(); } }
相关文章推荐
- CF389A:Fox and Number Game(简单数论)
- CF 389A:Fox and Number Game
- Fox and Number Game
- L - Fox and Number Game
- A. Fox and Number Game
- Codeforces Round #228 (Div. 2)A.Fox and Number Game
- Codeforces Round #228 (Div. 2), problem: (A) Fox and Number Game
- codeforces A. Fox and Number Game
- Codeforces Round #228 (Div. 2)A. Fox and Number Game
- CodeForces 828D Soldier and Number Game(数学)
- codeforces-546D-Soldier and Number Game【思维】(求质因子个数)
- CF228A题Fox and Number Game
- Codeforces Round #228 (Div. 2) A. Fox and Number Game
- codeforces Fox and Number Game
- Codeforces---Fox and Card Game
- CodeChef November Lunchtime 2013 Lucy and the Number Game(简单题)
- Fox and Number Game(优先队列)
- Codeforces_388C_Fox and Card Game(博弈、贪心、排序)
- vj --Fox and Number Game
- Codeforces Round #228 (Div. 2) A - Fox and Number Game(水题)