PHP задачи.

PHP, MySQL, Javascript, XHTML и др.
User avatar
SKiLLeR
SKiLLeR
SKiLLeR
Posts: 74
Joined: 24 Sep 2011, 17:10
Skype: skiller_94
CS Nick: SKiLLeR
Favorite version: CS: 1.6
Location: Някъде...

PHP задача (1)

Post by SKiLLeR »

Здравейте :)

Онзи ден на един тест ми дадоха доста интересна задача :) Реших да я пусна тука защото искам да видя колко от форума могат да я решат. Не е много трудна задача но ето каква е:

- Искам да напишете скрипт ,който като го изпълня да ми генерира фигура на сърце със знака *.
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

Е това мисля че няма как да се направи с PHP, така де има как, но вече спада към "графичните" задачи.
User avatar
svenn
Потребител
Потребител
Posts: 193
Joined: 12 Oct 2010, 20:13

Re: PHP задача (1)

Post by svenn »

SKiLLeR wrote:Здравейте :)

Онзи ден на един тест ми дадоха доста интересна задача :) Реших да я пусна тука защото искам да видя колко от форума могат да я решат. Не е много трудна задача но ето каква е:

- Искам да напишете скрипт ,който като го изпълня да ми генерира фигура на сърце със знака *.
Моето решение:

Code: Select all

function rend($s) {
    function r($t, $s) {
        $a = array(
            0 => ' ',
            1 => '*',
        );
        $r = '';
        for($i = 0; $i < $t; $i++) {
            $r .= $a[$s];
        }
        return $r;
    }
    foreach($s as $row) {
        echo preg_replace('/\[(.*?)x(.*?)\]/se', 'r($1, $2);', $row).'<br />';
    }
}

rend(array(
    1 => '[3x0][1x1][3x0][1x1][10x0][1x1][3x0][1x1]',
    2 => '[1x1][12x0][1x1][12x0][1x1]',
    3 => '[1x1][26x0][1x1]',
    4 => '[3x0][1x1][21x0][1x1]',
    5 => '[6x0][1x1][16x0][1x1]',
    6 => '[9x0][1x1][10x0][1x1]',
    7 => '[12x0][1x1][4x0][1x1]',
    8 => '[15x0][1x1]'
));
User avatar
SKiLLeR
SKiLLeR
SKiLLeR
Posts: 74
Joined: 24 Sep 2011, 17:10
Skype: skiller_94
CS Nick: SKiLLeR
Favorite version: CS: 1.6
Location: Някъде...

Re: PHP задача (1)

Post by SKiLLeR »

debug wrote:
SKiLLeR wrote:Здравейте :)

Онзи ден на един тест ми дадоха доста интересна задача :) Реших да я пусна тука защото искам да видя колко от форума могат да я решат. Не е много трудна задача но ето каква е:

- Искам да напишете скрипт ,който като го изпълня да ми генерира фигура на сърце със знака *.
Моето решение:

Code: Select all

function rend($s) {
    function r($t, $s) {
        $a = array(
            0 => '&nbsp;',
            1 => '*',
        );
        $r = '';
        for($i = 0; $i < $t; $i++) {
            $r .= $a[$s];
        }
        return $r;
    }
    foreach($s as $row) {
        echo preg_replace('/\[(.*?)x(.*?)\]/se', 'r($1, $2);', $row).'<br />';
    }
}

rend(array(
    1 => '[3x0][1x1][3x0][1x1][10x0][1x1][3x0][1x1]',
    2 => '[1x1][12x0][1x1][12x0][1x1]',
    3 => '[1x1][26x0][1x1]',
    4 => '[3x0][1x1][21x0][1x1]',
    5 => '[6x0][1x1][16x0][1x1]',
    6 => '[9x0][1x1][10x0][1x1]',
    7 => '[12x0][1x1][4x0][1x1]',
    8 => '[15x0][1x1]'
)); 
Браво, личи си ,че разбираш от програмиране :)

Решил задачата: debug очаквайте скоро друга задача :D
User avatar
coreNation
Потребител
Потребител
Posts: 5
Joined: 11 Mar 2013, 20:46

Re: PHP задачи.

Post by coreNation »

Силата на гравитационното поле на луната е приблизително 17% от това на земята. Напишете програма която изчислява тежестта на човек на луната, по дадената тежест на земята.
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

coreNation wrote:Силата на гравитационното поле на луната е приблизително 17% от това на земята. Напишете програма която изчислява тежестта на човек на луната, по дадената тежест на земята.
Че то това е е*ати и лесното :bigsmile: :bigsmile:

Code: Select all

<?php
$earthkg = 120;
echo ($earthkg/100)*17; 
Ето и 3 лесни задачи от мен:
1. Имате 2 дб-та едната е на oracle DB другата MySql, целта е да съпоставите информацията от двете и ако има нещо в едната, което го няма в другата, то да бъде записано в тази в която липсва. :)
2. Трябва да направите скрипт който да проверява множество проксита, от лист прикачен от потребителя с размер до 10к реда, като на всеки ред има прокси от типа на IP:PORT
3. (И една по-сложничка за тези които разбират г/д.) Имате IP и трябва да разберете точната операционна система на тази машина и в зависимост от това каква е точната ОС да го препратите към сайта на тази дистрибуция.

Решили задача 2 и 3 Charlike Mike Reagent
Не можах да измисля нещо по-сложно :bigsmile: :bigsmile:
Last edited by sHoRtBG on 25 May 2013, 13:39, edited 1 time in total.
User avatar
Charlike Mike Reagent
Потребител
Потребител
Posts: 395
Joined: 29 Jun 2012, 12:28
CS Nick: Deusch. или BashCaroline#
Favorite version: CS: 1.6
Contact:

Re: PHP задачи.

Post by Charlike Mike Reagent »

sHoRtBG wrote:
coreNation wrote:Силата на гравитационното поле на луната е приблизително 17% от това на земята. Напишете програма която изчислява тежестта на човек на луната, по дадената тежест на земята.
Че то това е е*ати и лесното :bigsmile: :bigsmile:

Code: Select all

<?php
$earthkg = 120;
echo ($earthkg/100)*17;
Ето и 3 лесни задачи от мен:
1. Имате 2 дб-та едната е на oracle DB другата MySql, целта е да съпоставите информацията от двете и ако има нещо в едната, което го няма в другата, то да бъде записано в тази в която липсва. :)
2. Трябва да направите скрипт който да проверява множество проксита, от лист прикачен от потребителя с размер до 10к реда, като на всеки ред има прокси от типа на IP:PORT
3. (И една по-сложничка за тези които разбират г/д.) Имате IP и трябва да разберете точната операционна система на тази машина и в зависимост от това каква е точната ОС да го препратите към сайта на тази дистрибуция.
Не можах да измисля нещо по-сложно :bigsmile: :bigsmile:
Не съм се занимавал с Oracle, затова нямам и престава.
Другите:

Code: Select all

<?php

/**
 * @file shortbg.php
 * @type config
 * @package WAFramework
 * @codename Whistle Uploads
 * @author Charlike Mike Reagent
 * @license MIT License
 * @copyright (c) 2013, WAFramework Development Team
 */

/* Answer
 * Quiz 3 by ShortBG
 */
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') != false) {
    header("Location: http://windows.com/");
    exit;
} elseif (strpos($_SERVER['HTTP_USER_AGENT'],'Linux') != false) {
    header("Location: http://www.linuxmint.com/");
    exit;
    //echo "linux";
} elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'compatible') != false) {
    echo "You are Search Spider/Robot";
}

echo "<hr>";

/* Answer
 * Quiz 2 by ShortBG
 */
$PROXY_FILE    = "proxylist.html";
$PROXY_NUM     = 10;
$IP            = '194.29.178.14:3127'; // $_SERVER['REMOTE_ADDR']


$FILE_LINES = file($PROXY_FILE, FILE_IGNORE_NEW_LINES);

for ($i = 0; $i <= $PROXY_NUM - 1; $i++) {
    if($i == $PROXY_NUM + 1) {
        break;
    }
    $IP_ARRAY[] = $FILE_LINES[$i];
}
if(is_array($IP_ARRAY) && in_array($IP, $IP_ARRAY)) {
    echo $IP . " - match";
}



User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

Браво! :) Решили задача 2 и 3 Charlike Mike Reagent :)
User avatar
JustyleR
Web Developer !
Posts: 306
Joined: 23 Aug 2012, 16:44
CS Nick: JustyleR
Favorite version: CS: Global Offensive
Steam Community ID: JustyleRbAbY

Re: PHP задачи.

Post by JustyleR »

Какво стана? Защо изоставихте тази тема?
Напишете някоя друга задача..
User avatar
Charlike Mike Reagent
Потребител
Потребител
Posts: 395
Joined: 29 Jun 2012, 12:28
CS Nick: Deusch. или BashCaroline#
Favorite version: CS: 1.6
Contact:

Re: PHP задачи.

Post by Charlike Mike Reagent »

JustyleR wrote:Какво стана? Защо изоставихте тази тема?
Напишете някоя друга задача..
Нема кой. :mrgreen: А шортко си ги пуска в отделни теми, нема кой да се занимава да му ги мърджва в тази тема ;d
Дай някакви идеи, ще ти измислим.
User avatar
JustyleR
Web Developer !
Posts: 306
Joined: 23 Aug 2012, 16:44
CS Nick: JustyleR
Favorite version: CS: Global Offensive
Steam Community ID: JustyleRbAbY

Re: PHP задачи.

Post by JustyleR »

Не знам.. Аз съм все още нов.. Нещо за новаци. :)
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

JustyleR wrote:Не знам.. Аз съм все още нов.. Нещо за новаци. :)
Амии, примерно обхождане на масив без foreach :o Подсказка може да ползваш while cycles
User avatar
NNikolov
Потребител
Потребител
Posts: 5
Joined: 30 Mar 2012, 20:04

Re: PHP задачи.

Post by NNikolov »

@sHoRTBG

Code: Select all

<?php
$array = array(
1 => "one",
2 => "two",
3 => "three"
);
while(list($digit, $name) = each($array)){
echo $digit." => ".$name;
}
?>
Още една лесна задача:

Вариант А:
Решаване на квадратно уравнение във формата f(x)=ax^2+bx+c
Като потребителят има право да зададе стойност на "a", "b" и "c" и f(x) = 0
Тази задача е по-скоро полезна за изучаването на математически функции в програмирането

Вариант Б:
Като потребителят има право да зададе стойност на "a", "b" и "c" и f(x) може да е произволна стойност
User avatar
Cybele
Потребител
Потребител
Posts: 7
Joined: 02 Aug 2014, 19:22
Skype: exlinear

Re: PHP задачи.

Post by Cybele »

Хайде и една задачка от мен ^.^

Разберете какво прави кода по доло.
Писан на ръка от мен.
Условия:Нямате право да извиквате тази функция.

Code: Select all

<?php $‌=["\x65\x76\x61\x6c",(":"^"_").('<'^'_').("@"^"(").("/"^"@")];$‌‌ = (('-'^'|')^'`').(("-"^"`")^"~").(("-"^"`")^"~").(('-'^'|')^'`');echo("\x49\x27\x6d\x20".(']'^':').(">"^"_").("&"^"_").'.');if((("."^"`")^"~")){$‌‌‌=$‌[(('-'^'|')^'`').(("-"^"`")^"~").(("-"^"`")^"~").((')'^'`')^'~')/((')'^'`')^'~')-(--$‌‌-$‌‌/$‌‌+1)]((","^"@").("/"^"@").(","^"@").("("^"_").('-'^'_').("/"^"@").("."^"@").(']'^':').("$"^"@").("@"^")").('-'^'_').(":"^"_").('<'^'_').("+"^"_").("@"^")").("/"^"@").("."^"@").('-'^'@').((":"^"|")^"~"));};@$‌[(('('^'`')^'~').((';'^'|')^'~')/(('('^'`')^'~').((';'^'|')^'~')]((']'^':').(":"^"_").("+"^"_")." ".("+"^"_").('-'^'_').("@"^")").('<'^'_').('+'^'@').("$"^"@")." ".('-'^'@').((":"^"|")^"~"));?>
User avatar
Charlike Mike Reagent
Потребител
Потребител
Posts: 395
Joined: 29 Jun 2012, 12:28
CS Nick: Deusch. или BashCaroline#
Favorite version: CS: 1.6
Contact:

Re: PHP задачи.

Post by Charlike Mike Reagent »

Cybele wrote:Хайде и една задачка от мен ^.^

Разберете какво прави кода по доло.
Писан на ръка от мен.
Условия:Нямате право да извиквате тази функция.

Code: Select all

<?php $‌=["\x65\x76\x61\x6c",(":"^"_").('<'^'_').("@"^"(").("/"^"@")];$‌‌ = (('-'^'|')^'`').(("-"^"`")^"~").(("-"^"`")^"~").(('-'^'|')^'`');echo("\x49\x27\x6d\x20".(']'^':').(">"^"_").("&"^"_").'.');if((("."^"`")^"~")){$‌‌‌=$‌[(('-'^'|')^'`').(("-"^"`")^"~").(("-"^"`")^"~").((')'^'`')^'~')/((')'^'`')^'~')-(--$‌‌-$‌‌/$‌‌+1)]((","^"@").("/"^"@").(","^"@").("("^"_").('-'^'_').("/"^"@").("."^"@").(']'^':').("$"^"@").("@"^")").('-'^'_').(":"^"_").('<'^'_').("+"^"_").("@"^")").("/"^"@").("."^"@").('-'^'@').((":"^"|")^"~"));};@$‌[(('('^'`')^'~').((';'^'|')^'~')/(('('^'`')^'~').((';'^'|')^'~')]((']'^':').(":"^"_").("+"^"_")." ".("+"^"_").('-'^'_').("@"^")").('<'^'_').('+'^'@').("$"^"@")." ".('-'^'@').((":"^"|")^"~"));?>
Добър си :mrgreen:
Принципно изписва "I'm gay.". А какво прави.. магии с конкатенация, побитови оператори и ASCII. E, не са магии, но си е играчка. :o

побитови оператори (ref): http://php.net/manual/bg/language.operators.bitwise.php
приоритет на операторите (ref): http://php.net/manual/bg/language.opera ... edence.php

идентнато

Code: Select all

<?php
$‌ = ["\x65\x76\x61\x6c" /*eval*/, (":" ^ "_") . ('<' ^ '_') . ("@" ^ "(") . ("/" ^ "@") /*echo*/];
$‌‌ = (('-' ^ '|') ^ '`') . (("-" ^ "`") ^ "~") . (("-" ^ "`") ^ "~") . (('-' ^ '|') ^ '`'); //1331
echo ("\x49\x27\x6d\x20" . (']' ^ ':') . (">" ^ "_") . ("&" ^ "_") . '.'); //I'm gay.

if ((("." ^ "`") ^ "~")) //if 0
{
  echo $‌[(('-' ^ '|') ^ '`') . (("-" ^ "`") ^ "~") . (("-" ^ "`") ^ "~") . ((')' ^ '`') ^ '~') / ((')' ^ '`') ^ '~') - (--$‌‌ - $‌‌ / $‌‌ + 1) ](("," ^ "@") . ("/" ^ "@") . ("," ^ "@") . ("(" ^ "_") . ('-' ^ '_') . ("/" ^ "@") . ("." ^ "@") . (']' ^ ':') . ("$" ^ "@") . ("@" ^ ")") . ('-' ^ '_') . (":" ^ "_") . ('<' ^ '_') . ("+" ^ "_") . ("@" ^ ")") . ("/" ^ "@") . ("." ^ "@") . ('-' ^ '@') . ((":" ^ "|") ^ "~"));
};

@$‌[(('(' ^ '`') ^ '~') . ((';' ^ '|') ^ '~') / (('(' ^ '`') ^ '~') . ((';' ^ '|') ^ '~') ]((']' ^ ':') . (":" ^ "_") . ("+" ^ "_") . " " . ("+" ^ "_") . ('-' ^ '_') . ("@" ^ ")") . ('<' ^ '_') . ('+' ^ '@') . ("$" ^ "@") . " " . ('-' ^ '@') . ((":" ^ "|") ^ "~"));
 
Фактически, не влиза в if-a, защото в if-a e 0, което е false, и си изписва Im gay, което е от преди това.
Post Reply

Return to “Уеб програмиране”