結果
| 問題 |
No.6 使いものにならないハッシュ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-12-24 10:53:31 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,744 bytes |
| コンパイル時間 | 1,145 ms |
| コンパイル使用メモリ | 103,936 KB |
| 実行使用メモリ | 18,372 KB |
| 最終ジャッジ日時 | 2024-09-16 16:53:37 |
| 合計ジャッジ時間 | 3,017 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 WA * 1 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Collections.Generic;
namespace No006_使いものにならないハッシュ
{
class Program
{
static void Main()
{
int k = int.Parse(Console.ReadLine());
int n = int.Parse(Console.ReadLine());
bool[] numbers = new bool[n + 1];
var prime = new List<int>();
int start = 0, max = 0;
if (k <= 2)
prime.Add(2);
for (int i = 3; i <= n; i += 2)
numbers[i] = true;
for (int i = 3; i < n; i += 2)
for (int j = 2; i * j <= n; j++)
numbers[i * j] = false;
for (int i = k + 1 - k % 2; i <= n; i += 2)
if (numbers[i])
prime.Add(i);
for (int i = 0; i < prime.Count - 1; i++)
{
bool[] checker = new bool[10];
int count = 1;
checker[hash(prime[i])] = true;
for (int j = 1; j < 11 && i + j < prime.Count; j++)
{
int value = hash(prime[i + j]);
if (!checker[value])
{
checker[value] = true;
count++;
}
else
break;
}
if (max <= count)
{
max = count;
start = prime[i];
}
}
Console.WriteLine(start);
}
static int hash(int number)
{
while (number >= 10)
number = number / 10 + number % 10;
return number;
}
}
}