Browse Source

Another test, converting arab numbers to roman

pull/44/head
Rafal Kupiec 2 years ago
parent
commit
ff6a7012a4
Signed by: belliash GPG Key ID: 4E829243E0CFE6B4
2 changed files with 41 additions and 0 deletions
  1. +32
    -0
      tests/arab_to_roman.aer
  2. +9
    -0
      tests/arab_to_roman.exp

+ 32
- 0
tests/arab_to_roman.aer View File

@ -0,0 +1,32 @@
class Main {
private function num2Roman($num) {
$n = intval($num);
$result = '';
$lookup = 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);
foreach($lookup as $roman => $value) {
$matches = intval($n / $value);
$result .= str_repeat($roman, $matches);
$n = $n % $value;
}
return $result;
}
public function __construct() {
print(' 7 => ' . $this->num2Roman(7) . "\n");
print(' 9 => ' . $this->num2Roman(9) . "\n");
print(' 11 => ' . $this->num2Roman(11) . "\n");
print(' 42 => ' . $this->num2Roman(42) . "\n");
print(' 105 => ' . $this->num2Roman(105) . "\n");
print('1984 => ' . $this->num2Roman(1984) . "\n");
print('1999 => ' . $this->num2Roman(1999) . "\n");
print('2018 => ' . $this->num2Roman(2018) . "\n");
print('2144 => ' . $this->num2Roman(2144) . "\n");
}
}
new Main();

+ 9
- 0
tests/arab_to_roman.exp View File

@ -0,0 +1,9 @@
7 => VII
9 => IX
11 => XI
42 => XLII
105 => CV
1984 => MCMLXXXIV
1999 => MCMXCIX
2018 => MMXVIII
2144 => MMCXLIV

Loading…
Cancel
Save