結果

問題 No.1396 Giri
ユーザー さかぽん
提出日時 2021-02-15 05:43:14
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 28 ms / 2,000 ms
コード長 616 bytes
コンパイル時間 1,064 ms
コンパイル使用メモリ 105,344 KB
実行使用メモリ 19,200 KB
最終ジャッジ日時 2024-07-22 17:50:22
合計ジャッジ時間 2,585 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;
using System.Collections.Generic;

class B
{
	const long M = 998244353;
	static void Main()
	{
		var n = int.Parse(Console.ReadLine());

		var r = 1L;
		var ps = GetPrimes(n);

		for (int i = 0; i < ps.Length - 1; i++)
		{
			var p = ps[i];
			var t = 1L;
			while (t * p <= n) t *= p;
			r *= t;
			r %= M;
		}
		Console.WriteLine(r);
	}

	static int[] GetPrimes(int n)
	{
		var b = new bool[n + 1];
		for (int p = 2; p * p <= n; ++p) if (!b[p]) for (int x = p * p; x <= n; x += p) b[x] = true;
		var r = new List<int>();
		for (int x = 2; x <= n; ++x) if (!b[x]) r.Add(x);
		return r.ToArray();
	}
}
0