Хек....Ну что друзья, пора нам поразвлечься В этом топе я буду выкладывать интересные задания на PHP, возможно применение др.языков/приложений.. Перед тем как мы начнем я объясню правила: 1) Задания всегда будут в первом посте, но только последнее... Поэтому перед тем как вы пишите ответ цитируйте полный блок задания из первого поста (обязательно) 2) Читать задание надо полностью(!), я могу специально делать какие-нибудь преграды в тексте из-за которых у вас может быть верный ответ, но неверный ход решения... Поэтому перечитайте его несколько раз! 3) Все коды бросать желательно на http://pastebin.x3k.ru Для чего? Мы проверяем ваши знания, бьем положительно в репутацию, ну и вообще это интересно.. Итак начинаем... -Блок задания- Задание #1 - [Коза] 1) Получить скрин 36 секунды размером 320*240 файла koza.3gp и записать в файл koza.jpg 2) Вывести первые 15 символов картинки в base64, записать в файл xek.txt 3) Получить md5 хеш числа который находиться в файле xek.txt Первый, кто ответит на задание, должен написать полностью ход решений и показать исходные коды на http://pastebin.x3k.ru Главный ответ должен быть e031eee3c274c8d9fcdbb880553448e8 Файлы, необходимые к работе: http://x3k.ru/assignment/1/ -Конец блока задания-
Энто ты извратился =) Ну я был близок =)))) Просто ты сразу кодировал в b64 первые 15 сиволов, а остальное вырезал, а я сначала брал 15 символов, все вырезал и потом кодироваол это в b64 А свиду код одинаковый =)
Code: #!perl -w use MIME::Base64; use Digest::MD5; system('ffmpeg -i koza.3gp -ss 00:00:36 -s 320x240 -y -f mjpeg koza.jpg'); open DATA , 'koza.jpg'; open FILE , '>' , 'xek.txt'; print FILE substr(encode_base64(<DATA>),0,15 ); close DATA; close FILE; open MD5_FILE , 'xek.txt'; binmode(MD5_FILE); print Digest::MD5->new->addfile(*MD5_FILE)->hexdigest; немного подсмотрел с ffmpeg Code: ffmpeg -i koza.3gp -ss 00:00:36 -s 320x240 -y -f mjpeg koza.jpg -i filename input file name -ss time_off set the start time offset -y overwrite output files -f fmt force format -s size set frame size (WxH or abbreviation)
№ 1 PHP: <? system('ffmpeg -i koza.3gp -ss 00:00:36 -s 320x240 -y -f mjpeg koza.jpg'); $h=substr(base64_encode(file_get_contents('koza.jpg')), 0, 15); echo md5($h); ?> >>isis В каждом задании лучше ставь номер выделяя его цветом, чтоб при ответе указывали номер а не цитировали
небольшая задачка от меня: № 2 есть код который задает значение массива PHP: <? $ar=array(); for($i=0; $i < 16; $i++) $ar[]=rand(0, 9); print_r($ar); ?> задание: НЕ производя сортировки массива, вывести индексы тех элементов которые не поменяют своего положения при сортировки по возростанию.
PHP: <? $ar=array(); for($i=0; $i < 16; $i++) $ar[]=rand(0, 9); print_r($ar); /////////////////////////////////////////////////// $ar2=array(); for($i=0; $i < 10; $i++){ for($i2=0; $i2 < 16; $i2++){ if($ar[$i2]==$i)$ar2[]=$i; } } for($i=0; $i < 16; $i++){ if($ar[$i]===$ar2[$i])echo($i.','); } ?> Оно?
ты гений) вкури еще раз код... И что ты еще хочешь этим сказать напиши пжлст. ЗЫ повторы будут в любом случае (в массиве 16 элементов а разных значений только 10)
все, вкурил) значит, ты делаешь сортировку через два цикла. гы хороший вариант. но там есть сортировка в другом массиве. это можно считать решением?
Пожалуйста, чтобы тема не была попсовой....скидывайте мне в пм интересные задания, я буду их вставлять в первый пост
Хз В чем ссмысл Задания №2 =/ Хмммм при сортировке массива $ar чаще всего первый и последний элемент оставлись: $ar[0] = 0 $ar[15] = 9 Заметил закономерность: $ar[0] = От 0 - 2 $ar[1] = От 0 - 3 $ar[2] = От 0 - 3 $ar[3] = От 0 - 4 $ar[4] = От 1 - 4 $ar[5] = От 1 - 6 $ar[6] = От 2 - 6 $ar[7] = От 2 - 7 $ar[8] = От 2 - 8 $ar[9] = От 3 - 8 $ar[10] = От 3 - 8 $ar[11] = От 3 - 8 $ar[12] = От 4 - 9 $ar[13] = От 5 - 9 $ar[14] = От 7 - 9 $ar[15] = От 7 - 9
Кстати что косаемо первого задания... Смысла нету, какая секунда видео и какое разрешение =\ Однако касается конкретного видео (содрежания) ... Видимо где в этих 15 символах это и отображается... Первые 4 символа у всех Jpg файлов одинаковые (имхо) Проверял на данном скрипте =\ Остальные привязаны к конкретному содержанию и пох на разрешение =\
№ 2 PHP: <?php $ar=array(); for($i=0; $i < 16; $i++) $ar[]=rand(0,9); print_r($ar); $t = array_fill(-1, 12, 0); for($i=0; $i < 16; $i++) $t[$ar[$i]]++; for($i=1; $i < 10; $i++) $t[$i] += $t[$i - 1]; $t[10] = 17; for($i=0; $i < 16; $i++) if (($i >= $t[$ar[$i] - 1]) && ($i < $t[$ar[$i]])) echo $i."\r\n"; ?>
PHP: <? $ar2=$array(); for ($i=0;$i<16;$i++) { for ($i2=0;$i2<10;$i2++) { if ($i2<$arr[$i]) {c++;} } if ($i==$c) {$ar2[]=$i;} $c=0; } print_r($arr2) ?> Или так?