結果
| 問題 | No.1464 Number Conversion | 
| コンテスト | |
| ユーザー |  bluemegane | 
| 提出日時 | 2021-04-17 11:33:41 | 
| 言語 | C#(csc) (csc 3.9.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 24 ms / 2,000 ms | 
| コード長 | 951 bytes | 
| コンパイル時間 | 2,498 ms | 
| コンパイル使用メモリ | 112,188 KB | 
| 実行使用メモリ | 26,280 KB | 
| 最終ジャッジ日時 | 2024-07-03 18:21:38 | 
| 合計ジャッジ時間 | 4,369 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 29 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using static System.Math;
using System;
public class Hello
{
    static void Main()
    {
        var s = Console.ReadLine().Trim();
        var p = s.IndexOf('.');
        if (p == -1) Console.WriteLine(s + "/1");
        else getAns(s, p);
    }
    static void getAns(string s, int p)
    {
        var s2 = s.Replace(".", "");
        var t1 = long.Parse(s2);
        var t2 = (long)Pow(10, s.Length - (p + 1));
        if (t1 % t2 == 0) { Console.WriteLine("{0}/1", t1 / t2); return; }
        if (t2 % t1 == 0) { Console.WriteLine("1/{0}", t2 / t1); return; }
        var imax = (int)Sqrt(Min(t1, t2)) + 1;
        for (int i = 2; i <= imax; i++)
        {
            while (true)
            {
                if (t1 % i == 0 && t2 % i == 0)
                {
                    t1 /= i;
                    t2 /= i;
                }
                else break;
            }
        }
        Console.WriteLine("{0}/{1}", t1, t2);
    }
}
            
            
            
        