結果
問題 | No.751 Frac #2 |
ユーザー |
|
提出日時 | 2018-08-30 02:18:02 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 771 bytes |
コンパイル時間 | 222 ms |
コンパイル使用メモリ | 29,952 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 11:06:28 |
合計ジャッジ時間 | 1,485 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
#include <stdio.h> #include <stdlib.h> long gcd(long x, long y) { long r; x = labs(x); y = labs(y); if (y > x) { r = x; x = y; y = r; } while (y > 0) { r = x % y; x = y; y = r; } return x; } int main(void) { long n1, n2, a, b, numerator, denominator = 1, i; scanf("%ld", &n1); for (i = 0; i < n1; i++) { scanf("%ld", &a); if (1 > i) numerator = a; else denominator *= a; } scanf("%ld", &n2); for (i = 0; i < n2; i++) { scanf("%ld", &b); if (i % 2) numerator *= b; else denominator *= b; } if (0 > denominator) { numerator = -numerator; denominator = -denominator; } printf("%ld %ld", numerator / gcd(numerator, denominator), denominator / gcd(numerator, denominator)); return 0; }