結果

問題 No.2379 Burnside's Theorem
ユーザー 抹茶アイス
提出日時 2023-07-21 16:13:05
言語 C#
(.NET 8.0.404)
結果
AC  
実行時間 74 ms / 2,000 ms
コード長 1,400 bytes
コンパイル時間 7,746 ms
コンパイル使用メモリ 167,556 KB
実行使用メモリ 187,124 KB
最終ジャッジ日時 2024-09-21 18:03:42
合計ジャッジ時間 10,019 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 20
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (93 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;
using System.Linq;
public class Program{
public static void Main(){
var n = long.Parse(Console.ReadLine());
var N = (long)Math.Truncate(Math.Sqrt(n));
var k = Prime(N);
var a = new List<long>();
var c = false;
for(var i=0;i<k.Count;i++){
if(n%k[i]==0){
while(n%k[i]==0){
n /= k[i];
}
a.Add(k[i]);
}
if(n==1){
c = true;
break;
}
}
if(!c){
a.Add(n);
}
if(a.Count<=2){
Console.WriteLine("Yes");
}
else{
Console.WriteLine("No");
}
}
static List<int> Prime(long n)
{
var isPrime = new bool[n+1];
var k = new List<int>();
for (int i = 2; i <= n; i++)
{
isPrime[i] = true;
}
for (int i = 2; i * i <= n; i++)
{
if (isPrime[i])
{
for (int j = i * i; j <= n; j += i)
{
isPrime[j] = false;
}
}
}
for (int i = 2; i <= n; i++)
{
if (isPrime[i])
{
k.Add(i);
}
}
return k;
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0