PHP математика
Привет хора, днес попаднах на един много интересен характер на PHP-то, което дори не знам как да го опиша в гугъл за да ми го обясни =D
Та днес си решавах задачки, и имах страшно досаден проблем с
String and Text Proccessing -> 05. Multiply Big Number (описанието на проблема ще видите в долния линк)
като при тази задача не трябва да използваме bcmul().
https://pastebin.com/HeMVFLy1
след като си бих главата бая време да в размисли какво съм объркал във формулата ми, реших да пробвам вместо потворение да използвам цикъл (макар че идеята е да го обработвам като текст).
та експериментално си разчлених входа "923847238931983192462832102" със следния код
<?php
/**
* Created by PhpStorm.
* User: RazielVonChronos
* Date: 25-Nov-18
* Time: 16:33 PM
*/
$number = 923847238931983192462832102;
while(true){
$digit = intval($number % 10);
$array[] = strval($digit * 4);
$number = doubleval($number / 10);
if($number < 1){
break;
}
echo sprintf("%.0f", $number).PHP_EOL;
}
Резултата е :
92384723893198314413228032
9238472389319831656071168
923847238931983219294208
92384723893198325284864
9238472389319832109056
923847238931983237120
92384723893198323712
9238472389319831552
923847238931983104
92384723893198304
9238472389319830
923847238931983
92384723893198
9238472389320
923847238932
92384723893
9238472389
923847239
92384724
9238472
923847
92385
9238
924
92
9
Та молбите ми са две:
Споделете ваше мнение къде точно (не искам да копи пействам нечие решение а да разбера къде е моята грешка в идеята ми за правилно решение) съм сбъркал при моето решение на задачата която съм споменал горе.
Обяснете или дайте ми линк или кажете ми ми какви ключови думи ползвам за в гугъл че да разбера защо пресмятанията са така и как да ги извършвам правилно.
Поздрави, Киров :)