結果

問題 No.6 使いものにならないハッシュ
ユーザー mizzsigmizzsig
提出日時 2016-12-07 23:42:51
言語 PHP
(8.3.4)
結果
WA  
実行時間 -
コード長 1,171 bytes
コンパイル時間 5,622 ms
コンパイル使用メモリ 30,568 KB
実行使用メモリ 35,984 KB
最終ジャッジ日時 2024-11-28 04:13:21
合計ジャッジ時間 9,129 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
	$k = trim(fgets(STDIN));
	$n = trim(fgets(STDIN));
	
	// create prime's list
	$prime = [];
	$hash = [];
	$bool = [];
	for($i = 0; $i < $n; $i++){
		$bool[$i] = false;
	}
	for($i = 2; $i <= $n; $i++){
		if($bool[$i]) continue;
		if($i >= $k){
			array_push($prime, $i);
			$hashTmp = $i;
			while($hashTmp > 9){
				$hashTmp = (string)$hashTmp;
				$hashTmp2 = 0;
				for($l = 0; $l < strlen($hashTmp); $l++){
					$hashTmp2 += (int)$hashTmp[$l];
				}
				$hashTmp = $hashTmp2;
			}
			array_push($hash, $hashTmp);
		}
		for($j = $i * $i; $j < $n; $j += $i){
			$bool[$j] = true;
		}
	}
	// create prime's list end
	
	$ans = $prime[0];
	$check = [];
	for($i = 0; $i < 10; $i++){
		$check[$i] = 0;
	}
	$begin = 0;
	$end = 0;
	do{
		$flag = true;
		$check[$hash[$end]] += 1;
		if($check[$hash[$end]] == 2){
			do{
				$check[$hash[$begin++]]--;
				$check[$hash[++$end]]++;
				$flag = true;
				for($m = 0; $m < 10; $m++){
					if($check[$hash[$m]] > 1){
						$flag = false;
						break;
					}
				}
				if($flag) break;
			}while($end < count($prime));
		}
		if($flag){
			$ans = $prime[$begin];
		}
		$end++;
	}while($end < count($prime));
	
	echo $ans."\n";
?>
0