- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
<?php
function hsum($a, $b, $p) {
$hs = $a ^ $b;
$hp = $a & $b;
$p <<= 1;
return [$hs ^ $p, $hp | ($hs & $p)];
}
function hsum_rec($a, $b, $p) {
list($s, $newp) = hsum($a, $b, $p);
if ($newp == $p) {
return [$s, $newp];
} else {
return hsum_rec($a, $b, $newp);
}
}
function sum2($a, $b) {
list($s, $p) = hsum_rec($a, $b, 0);
return $s;
}
for($i = 0; $i < 16; $i++) {
for($j = 0; $j < 16; $j++) {
if(sum2($i,$j) != $i + $j) {
$k = sum2($i,$j);
echo "Error: $i, $j, $k\n";
}
}
}
https://ideone.com/p4hwqN
Поскольку алгоритм вычисления битов переноса таков, что многобитными операциями AND, OR, XOR и сдвигами его реализовать невозможно, нужно делать цикл по битам, а так любой петух сможет, я решил сделать по-другому: сделал жужжалку, которая вычисляет переносы из разрядов рекурсивно, по принципу мухи, то есть как жужжит муха. Бззззззззз!
Сам не верю, но тесты проходит.
они откладывают яйца в ос, и потом живут в осах, а потом вырываются наружу.
Самцы живут до пяти часов, и не едят.
А самки не имеют ни крыльев, ни ног, и вообще ничего не имеют, просто лежат недвижимо внутри осы, и ждут когда самец их трахнет, чтобы отложить яйца, и умереть