🎉

競プロ典型問題の★2が解けなかった件

2022/09/30に公開

うーん、難しいなあ...何がダメなんだろう。
テストケース半分くらいは通ったみたいだけど。
https://atcoder.jp/contests/typical90/tasks/typical90_v

Main.java
import java.util.Scanner;

public class Main {
	public static long gcd(long a, long b) {
		long bigger = Math.max(a, b);
		long smaller = Math.min(a, b);
		long div;
		long mod;

		div = bigger / smaller;
		mod = bigger % smaller;

		if (mod != 0) {
			return gcd(div, mod);
		} else {
			return smaller;
		}
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long a = sc.nextLong();
		long b = sc.nextLong();
		long c = sc.nextLong();

		long maxDiv = gcd(gcd(a, b), c);

		a /= maxDiv;
		b /= maxDiv;
		c /= maxDiv;

		System.out.println(a + b + c - 3);
	}
}

Discussion