Project Euler にチャレンジ:Problem 22 PHPでの解答

← Problem 21  Problem 23 →
sort コマンドで、アルファベット順に並べ替え可能
<?php

$answer = 0;

// ファイルの読み込み
$file = file_get_contents("problem22.txt");
$array1 = explode(",",str_replace("\"","",$file));
sort($array1);

$alphabet = array("A"=>1,"B"=>2,"C"=>3,"D"=>4,"E"=>5,"F"=>6,"G"=>7,"H"=>8,"I"=>9,"J"=>10,"K"=>11,"L"=>12,"M"=>13,"N"=>14,"O"=>15,"P"=>16,"Q"=>17,"R"=>18,"S"=>19,"T"=>20,"U"=>21,"V"=>22,"W"=>23,"X"=>24,"Y"=>25,"Z"=>26);

foreach($array1 as $k => $v)
{
	$length = strlen($v);
	$score = 0;
	for($i = 0 ; $i < $length ; $i++)
	{
		$score += $alphabet[substr($v,$i,1)];
	}
	$score = $score * ($k + 1);
	$answer += $score;
}
echo $answer;

?>
問題文