結果
| 問題 |
No.25 有限小数
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-03-17 21:30:56 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,362 bytes |
| コンパイル時間 | 1,481 ms |
| コンパイル使用メモリ | 166,908 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-18 10:16:41 |
| 合計ジャッジ時間 | 2,387 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 WA * 1 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b) {
ll tmp;
while(a) {
tmp = b;
b = a;
a = tmp % a;
}
return b;
}
ll n, m;
int main() {
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
cin >> n >> m;
ll t = gcd(n, m);
n /= t; m /= t;
if (m == 1) {
while (n % 10 == 0) n /= 10;
cout << n % 10;
return 0;
}
ll _2 = 0, _5 = 0;
while (m % 2 == 0) m /= 2, _2++;
while (m % 5 == 0) m /= 5, _5++;
if (m > 1) {
cout << -1;
return 0;
}
while (n % 10 == 0) n /= 10;
n %= 10;
while (_2--) {
n *= 5;
while (n % 10 == 0) n /= 10;
n %= 10;
}
while (_5--) {
n *= 2;
while (n % 10 == 0) n /= 10;
n %= 10;
}
cout << n;
return 0;
}
/*
__------__
/~ ~\
| //^\\//^\|
/~~\ || o| |o|:~\
| |6 ||___|_|_||:|
\__. / o \/'
| ( O )
/~~~~\ `\ \ /
| |~~\ | ) ~------~`\
/' | | | / ____ /~~~)\
(_/' | | | /' | ( |
| | | \ / __)/ \
\ \ \ \/ /' \ `\
\ \|\ / | |\___|
\ | \____/ | |
/^~> \ _/ <
| | \ \
| | \ \ \
-^-\ \ | )
`\_______/^\______/
*/