Mamy sumę potęg liczby 2. Przykład: 1+4+32+1024 = 1061. Jak taką liczbę rozłożyć spowrotem na składniki sumy?
[update]
Wymyśliłem pewien sposób, jednak nie jestem zadowolony. Żeby działał konieczna jest znajomość przedziału w jakim znajdują się składniki sumy.
[php:1:d64340bf5b]<?php
$num_array = array(1024,512,256,128,64,32,16,8,4,2,1);
$sum = 1061;
foreach($num_array as $num)
if(($sum-$num)>=0)
{
$result[] = $num;
$sum -= $num;
}
?>[/php:1:d64340bf5b]