Вообщем давайте рябата будем здесь задаваться простенькими задачками и находить лучшие реализации.
Спустя 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. надеюсь ошибок не допустил... теперь выведем формулу...
Я не математик,но кажется иду в правильном направлении... если запишем это функцией,то:
Если мы выполним функцию bin(10), то по теории он нам выведет 0
Это значит, что нужны циклы...
P.S. ребята я хочу не просто один самому себе писать , а обсуждать что-то... )
Давайте с 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;
$y=$z*2;
$ost=$x-$y;
Я не математик,но кажется иду в правильном направлении... если запишем это функцией,то:
Код
function bin($x) {
$z=$x/2;
$y=$z*2;
$ost=$x-$y;
return $ost;
}
$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 ) - не решение)
помнитсо видел где-то давно задачу, она правда больше на логику и знание школьной математики))
"как вычесть из одного числа другое, не используя знака минус?"
зы. 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);
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 ) - не решение)
помнитсо видел где-то давно задачу, она правда больше на логику и знание школьной математики))
"как вычесть из одного числа другое, не используя знака минус?"
зы. a+(-b ) - не решение)
да не проблема, строим 2 концентрические окружности, соотв. радиусов, интыгралом считаем площадь кольца, и из школьной формулы площади кольца находим разность радиусов.