結果
問題 | No.736 約比 |
ユーザー |
|
提出日時 | 2019-01-11 15:25:24 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 166 ms / 2,000 ms |
コード長 | 1,437 bytes |
コンパイル時間 | 2,116 ms |
コンパイル使用メモリ | 77,200 KB |
実行使用メモリ | 54,564 KB |
最終ジャッジ日時 | 2024-11-28 15:21:58 |
合計ジャッジ時間 | 13,383 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 65 |
ソースコード
import java.util.*;public class Main {// ユークリッド互除法関数public static long gcd(long argA, long argB) {long a,b,r;a = argA;b = argB;if (a < b) {long tmp = a;a = b;b = tmp;}r = a % b;while (r > 0) {a = b;b = r;r = a % b;}return b;}public static void main(String[] args) throws Exception {Scanner sc = new Scanner(System.in);int n = sc.nextInt();long val[] = new long[n];long gcf = 0;long tmp = 0;// テストケースの値を確保for (int i = 0; i < n; i++) {val[i] = sc.nextLong();}// 最大公約数を求めるfor (int i = 0; i < n; i++) {if (i + 1 < n) tmp = gcd(val[i], val[i + 1]);if (gcf == 0) gcf = tmp;if (gcf > tmp) gcf = tmp;}// 最大公約数の検証for (int i = 0; i < n; i++) {if (val[i] % gcf != 0) gcf = 1;}// 答えの出力for (int i = 0; i < n; i++) {System.out.print(val[i] / gcf);if (i != n - 1) {System.out.print(":");}}System.out.println();}}