結果

問題 No.25 有限小数
コンテスト
ユーザー id-ord
提出日時 2026-01-14 10:53:52
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
結果
TLE  
実行時間 -
コード長 317 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,493 ms
コンパイル使用メモリ 147,784 KB
実行使用メモリ 11,048 KB
最終ジャッジ日時 2026-01-14 10:54:07
合計ジャッジ時間 14,383 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other TLE * 1 -- * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:6:30: 警告: ‘m2’ may be used uninitialized [-Wmaybe-uninitialized]
    6 |         while(M%2==0){M/=2;m2++;}while(M%5==0){M/=5;m5++;}
      |                            ~~^~
main.cpp:3:22: 備考: ‘m2’ はここで定義されています
    3 |         uint64_t N,M,m2,m5;
      |                      ^~
main.cpp:6:55: 警告: ‘m5’ may be used uninitialized [-Wmaybe-uninitialized]
    6 |         while(M%2==0){M/=2;m2++;}while(M%5==0){M/=5;m5++;}
      |                                                     ~~^~
main.cpp:3:25: 備考: ‘m5’ はここで定義されています
    3 |         uint64_t N,M,m2,m5;
      |                         ^~

ソースコード

diff #
raw source code

#include <iostream>
int main(){
	uint64_t N,M,m2,m5;
	std::cin>>N>>M;
	while(M%10==0)M/=10;
	while(M%2==0){M/=2;m2++;}while(M%5==0){M/=5;m5++;}
	if(N%M){std::cout<<-1;return 0;}
	N/=M;
	while(N%10==0)N/=10;
	while(N%2==0){N/=2;m2--;}while(N%5==0){N/=5;m5--;}N%=10;
	while(m2--)N=5;while(m5--)N*=2;
	std::cout<<N%10;
}
0