[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Интересные задачки
Adil
Че-то скучновато стало.. да и новых тем нет на форуме, вот и решил просто здесь отдохнем от скуки... Нстроение хорошее после выпитых бокалов пива, поэтому в коде пишется какая-то чушь...

Вообщем давайте рябата будем здесь задаваться простенькими задачками и находить лучшие реализации.




Спустя 2 минуты, 56 секунд (22.09.2008 - 00:59) Adil написал(а):
Первое что пришло в голову это скрипт, который будет преобразовываить десятичные числа в двоичные. Конечно в php есть встроенная функция decbin, но просто давайте посмотрим как бы мы сделали...

Давайте с 10 начнем и просто математически преобразуем:

10/2=5
10-10=0 [0]

5/2=2
5-4=1 [1]


2/2=1
2-2=0 [0]

1/2=0 [1]


Итого получаем 1010

P.S. надеюсь ошибок не допустил... теперь выведем формулу...


Код
$z=$x/2;
$y=$z*2;
$ost=$x-$y;


Я не математик,но кажется иду в правильном направлении... если запишем это функцией,то:

Код
function bin($x) {
    $z=$x/2;
    $y=$z*2;
    $ost=$x-$y;
return $ost;
}



Если мы выполним функцию bin(10), то по теории он нам выведет 0
Это значит, что нужны циклы...

P.S. ребята я хочу не просто один самому себе писать , а обсуждать что-то... )

Спустя 1 день, 17 часов, 1 минута, 47 секунд (23.09.2008 - 18:00) fasi написал(а):
эмм
помнитсо видел где-то давно задачу, она правда больше на логику и знание школьной математики))

"как вычесть из одного числа другое, не используя знака минус?"

зы. a+(-b ) - не решение)

Спустя 23 часа, 35 минут, 26 секунд (24.09.2008 - 17:36) Ghost написал(а):
Цитата
Если мы выполним функцию bin(10), то по теории он нам выведет 0
Это значит, что нужны циклы...

не циклы, рекурсия. а так - всё верно для натуральных чисел.
Код
<?
function bin($x) {
    if($x==0) return '';
    $z=$x/2;
    $y=$z*2;
    $ost=$x-$y;
    return bin($x).$ost;
}
bin(&x);

Спустя 21 минута, 10 секунд (24.09.2008 - 17:57) Ghost написал(а):
Цитата(fasi @ 23.9.2008, 18:00) [snapback]49067[/snapback]
эмм
помнитсо видел где-то давно задачу, она правда больше на логику и знание школьной математики))

"как вычесть из одного числа другое, не используя знака минус?"

зы. a+(-b ) - не решение)


да не проблема, строим 2 концентрические окружности, соотв. радиусов, интыгралом считаем площадь кольца, и из школьной формулы площади кольца находим разность радиусов.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.