結果

問題 No.2051 Divide
ユーザー デカブツデカブツ
提出日時 2022-08-21 13:07:47
言語 C#
(.NET 8.0.203)
結果
AC  
実行時間 52 ms / 2,000 ms
コード長 1,375 bytes
コンパイル時間 6,945 ms
コンパイル使用メモリ 165,924 KB
実行使用メモリ 184,724 KB
最終ジャッジ日時 2024-04-18 12:49:18
合計ジャッジ時間 9,048 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 49 ms
29,416 KB
testcase_01 AC 47 ms
29,440 KB
testcase_02 AC 51 ms
29,568 KB
testcase_03 AC 51 ms
29,568 KB
testcase_04 AC 50 ms
29,168 KB
testcase_05 AC 46 ms
29,312 KB
testcase_06 AC 48 ms
29,568 KB
testcase_07 AC 48 ms
29,440 KB
testcase_08 AC 49 ms
29,564 KB
testcase_09 AC 48 ms
29,184 KB
testcase_10 AC 49 ms
29,184 KB
testcase_11 AC 50 ms
29,440 KB
testcase_12 AC 48 ms
29,056 KB
testcase_13 AC 49 ms
29,056 KB
testcase_14 AC 48 ms
29,312 KB
testcase_15 AC 47 ms
29,288 KB
testcase_16 AC 48 ms
31,236 KB
testcase_17 AC 52 ms
29,952 KB
testcase_18 AC 51 ms
29,696 KB
testcase_19 AC 50 ms
29,696 KB
testcase_20 AC 51 ms
29,184 KB
testcase_21 AC 49 ms
29,440 KB
testcase_22 AC 47 ms
29,440 KB
testcase_23 AC 49 ms
29,696 KB
testcase_24 AC 51 ms
184,724 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (88 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

using System;
using System.Collections.Generic;

namespace test
{
    static class Program
    {
        static void Main()
        {
            string[] a = Console.ReadLine().Split(' ');
            long b = long.Parse(a[0]);
            long c = long.Parse(a[1]);
            if (b % c != 0)
            {
                Console.WriteLine(0);
            }
            else
            {
                long d = b / c;
                var e = CDs(d);
                long kosuu = 1;
                foreach (var item in e)
                {
                    kosuu *= item.Value + 1;
                }
                Console.WriteLine(kosuu);
            }
        }
        static Dictionary<long, long> CDs(long n)
        {
            Dictionary<long, long> CDs = new Dictionary<long, long>();
            long copy = n;
            for (long i = 2; i <= Math.Sqrt(copy) + 1; i++)
            {
                while (n % i == 0)
                {
                    if (CDs.ContainsKey(i))
                    {
                        CDs[i]++;
                    }
                    else
                    {
                        CDs.Add(i, 1);
                    }
                    n /= i;
                }
            }
            if (n != 1)
            {
                CDs.Add(n, 1);
            }
            return CDs;
        }
    }
}
0