PDA

Просмотр полной версии : Задание #1 [php]


Isis
10.02.2008, 17:52
Хек....Ну что друзья, пора нам поразвлечься :)

В этом топе я буду выкладывать интересные задания на PHP, возможно применение др.языков/приложений..

Перед тем как мы начнем я объясню правила:
1) Задания всегда будут в первом посте, но только последнее...
Поэтому перед тем как вы пишите ответ цитируйте полный блок задания из первого поста (обязательно)
2) Читать задание надо полностью(!), я могу специально делать какие-нибудь преграды в тексте из-за которых у вас может быть верный ответ, но неверный ход решения...
Поэтому перечитайте его несколько раз!
3) Все коды бросать желательно на http://pastebin.x3k.ru

Для чего?
Мы проверяем ваши знания, бьем положительно в репутацию, ну и вообще это интересно..

Итак начинаем...


-Блок задания-
Задание #1 - [Коза]

http://img90.imageshack.us/img90/8317/kozakq2.jpg

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/

-Конец блока задания-

Isis
10.02.2008, 20:46
Что-то вы слабые

a1ex
10.02.2008, 20:48
Типа ента всё должен делать скрипт?

bul.666
10.02.2008, 21:50
Что-то вы слабые
Энто ты извратился =) Ну я был близок =))))
Просто ты сразу кодировал в b64 первые 15 сиволов, а остальное вырезал, а я сначала брал 15 символов, все вырезал и потом кодироваол это в b64

:D :D :D :D :D :D :D А свиду код одинаковый =)

Isis
10.02.2008, 21:51
)))продолжаем...

demonoid
10.02.2008, 22:15
-Блок задания-
Задание #1 - [Коза]

http://img90.imageshack.us/img90/8317/kozakq2.jpg

1) Получить скрин 36 секунды размером 320*240 файла koza.3gp и записать в файл koza.jpg
2) Вывести первые 15 символов картинки в base64, записать в файл xek.txt
3) Получить md5 хеш числа который находиться в файле xek.txt
Файлы, необходимые к работе:
http://x3k.ru/assignment/1/




#!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
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)

nc.STRIEM
10.02.2008, 23:41
№ 1

<?
system('ffmpeg -i koza.3gp -ss 00:00:36 -s 320x240 -y -f mjpeg koza.jpg');
$h=substr(base64_encode(file_get_contents('koza.jp g')), 0, 15);
echo md5($h);
?>


>>isis
В каждом задании лучше ставь номер выделяя его цветом, чтоб при ответе указывали номер а не цитировали

nc.STRIEM
10.02.2008, 23:55
небольшая задачка от меня: № 2

есть код который задает значение массива

<?
$ar=array();
for($i=0; $i < 16; $i++)
$ar[]=rand(0, 9);
print_r($ar);
?>

задание: НЕ производя сортировки массива, вывести индексы тех элементов которые не поменяют своего положения при сортировки по возростанию.

Dr.Z3r0
11.02.2008, 00:59
небольшая задачка от меня: № 2

есть код который задает значение массива

<?
$ar=array();
for($i=0; $i < 16; $i++)
$ar[]=rand(0, 9);
print_r($ar);
?>

задание: НЕ производя сортировки массива, вывести индексы тех элементов которые не поменяют своего положения при сортировки по возростанию.
<?
$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.',');
}
?>Оно?

Piflit
11.02.2008, 01:19
Оно?
нет. там идет рандомное заполнение, т.е. числа могут повоторяться.

Dr.Z3r0
11.02.2008, 01:27
нет. там идет рандомное заполнение, т.е. числа могут повоторяться.
ты гений) вкури еще раз код...
И что ты еще хочешь этим сказать напиши пжлст.

ЗЫ повторы будут в любом случае (в массиве 16 элементов а разных значений только 10)

Piflit
11.02.2008, 01:40
ты гений) вкури еще раз код...
И что ты еще хочешь этим сказать напиши пжлст.

ЗЫ повторы будут в любом случае (в массиве 16 элементов а разных значений только 10)
все, вкурил) значит, ты делаешь сортировку через два цикла. гы

хороший вариант. но там есть сортировка в другом массиве. это можно считать решением?

Isis
11.02.2008, 02:06
Пожалуйста, чтобы тема не была попсовой....скидывайте мне в пм интересные задания, я буду их вставлять в первый пост

php
11.02.2008, 02:27
Хз В чем ссмысл Задания №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

Piflit
11.02.2008, 02:28
Хмммм при сортировке массива $ar чаще всего первый и последний элемент оставлись:
$ar[0] = 0
$ar[15] = 9
и?

bul.666
11.02.2008, 21:22
Кстати что косаемо первого задания...
Смысла нету, какая секунда видео и какое разрешение =\
Однако касается конкретного видео (содрежания) ...
Видимо где в этих 15 символах это и отображается...

Первые 4 символа у всех Jpg файлов одинаковые (имхо) Проверял на данном скрипте =\

Остальные привязаны к конкретному содержанию и пох на разрешение =\

spy-profi
11.02.2008, 22:06
Проферы)

desTiny
11.02.2008, 22:50
№ 2

<?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";
?>

Tem
11.02.2008, 23:14
№2

<?
$Arr = array(1,2,3,4,5,6,7,7,7,7,7,7);
$Arr = array_unique ($Arr);
print_r ($Arr);
?>

comentor
12.02.2008, 04:07
<?
$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)
?>

Или так?

desTiny
12.02.2008, 22:04
Да чё ж в всё за O(n^2)-то делаете??? O(n)! Оптимизация! Победа! За Сталина! Ой, чё-то меня понесло...