Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function RomanicNumber($Number) {
- $table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1);
- $return = '';
- while($Number > 0) {
- foreach($table as $rom => $arb) {
- if($Number >= $arb) {
- $Number -= $arb;
- $return .= $rom;
- break;
- }
- }
- }
- return $return;
- }
- $PerSymbol = 125;
- $Year = 0;
- $RomanicYear = '-';
- // After build.
- $StonesLeft = 12500000;
- $StonesShort = 0;
- while (true) {
- ++$Year;
- // We can't use broken stones, so floor.
- if ((($Year - 1) % 43 == 0)) {
- echo "Lost 15%\n";
- $StonesLeft = floor($StonesLeft * 0.85);
- }
- $NewRomanicYear = RomanicNumber($Year);
- // Times 2 because of loss.
- $StonesNeeded = strlen($NewRomanicYear) * $PerSymbol * 2;
- $RomanicYear = $NewRomanicYear;
- if ($StonesLeft < $StonesNeeded) {
- $StonesShort = $StonesNeeded - $StonesLeft;
- break;
- }
- $StonesLeft -= $StonesNeeded;
- echo $Year . ", " .$NewRomanicYear . ", Needed: " . $StonesNeeded . ", Left: " . $StonesLeft . "\n";
- }
- echo "-----------------------------------\n";
- echo "Answer: " .$RomanicYear . ", " . $StonesShort;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment