|
|
|
|
|
для: cheops
(12.02.2006 в 23:45)
| | Сначала ошибки:
if (!file_exists($filename)
|| !is_readable($fileame))
Правильнее так
if (file_exists($filename)
&& is_readable($fileame))
Заметил почти сразу, но править не стал... | |
|
|
|
|
|
|
|
для: SoftTime
(10.02.2006 в 00:50)
| | Немного громоздко, но очень оригинальное решение, не использовать функцию file() и вместо него использовать обычную связку fopen()+fgets(), такой подход съэкономит памяти (хотя здесь это не требовалось, пол мегабайта словаря прекрасно будут обработаны при любых настройках PHP), однако снижает читабельность и скорость работы скрипта (хотя последнее тут тоже не очень актуально). | |
|
|
|
|
|
|
| Ответ 005 на задачу N 5.
С условиями задачи можно ознакомится по ссылке.
06b2d4b91b5c9eaa8c20a1c270f95b3c = cluster
e206a54e97690cce50cc872dd70ee896 = linux
fbfa6902f089e5a0fa2424bd460ecfd0 = lisbon
437233c74e25fe505293cd2e8ecc2696 = pyramid
fb28e9240e83a5264566de844cc45523 = subprogram
Spend time: 11.3321220875sec
<?php
// скрипт в комментариях не нуждается
set_time_limit(0);
ob_implicit_flush();
$passHash[] = 'fb28e9240e83a5264566de844cc45523';
$passHash[] = '437233c74e25fe505293cd2e8ecc2696';
$passHash[] = '06b2d4b91b5c9eaa8c20a1c270f95b3c';
$passHash[] = 'e206a54e97690cce50cc872dd70ee896';
$passHash[] = 'fbfa6902f089e5a0fa2424bd460ecfd0';
$size = sizeof($passHash);
$filename = "linux.words";
if (!file_exists($filename)
|| !is_readable($fileame))
$fp = fopen($filename, "rt");
else {
exit("file not found");
}
$found = 0;
$start_time = getmicrotime();
while($found < $size && !feof($fp)) {
$pass = fgets($fp, 20);
$pass = trim($pass);
$pass = strtolower($pass);
for ($i=0; $i<$size; $i++) {
if ($passHash[$i] === md5($pass)) {
echo $passHash[$i], " = ", $pass, " ";
$found++;
}
}
}
fclose($fp);
$end_time = getmicrotime() - $start_time;
echo " <br>Spend time: ", $end_time, "sec ";
function getmicrotime() {
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec+(float)$sec);
}
?>
|
http://www.softtime.ru/info/task.php?id_article=75 | |
|
|
|
|