webForumDet fria alternativet

Löjligt enkelt? Omvandla siffror...

PHP

2 svar · 226 visningar · startad av Pontus Thor

Medlem sedan juni 2002324 inlägg
Frågan#1

Hittade precis den funktionen jag behövde men upptäkte att jag inte vet hur man använder den... :e

                <?php

  function roman($num) {
    $chars = array("I", "V", "X", "L", "C", "D", "M");
    $str = strval($num);

    $len = strlen($str);
    $result = "";
    for ($i = 0; $i < $len; $i++) {
      $base = 2 * ($len - $i - 1);
      $chs = array($chars[$base], $chars[$base + 1], $chars[$base + 2]);
      $romanchars = array("",
        $chs[0],
        $chs[0] . $chs[0],
        $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[1],
        $chs[1],
        $chs[1] . $chs[0],
        $chs[1] . $chs[0] . $chs[0],
        $chs[1] . $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[2]);

      $result .= $romanchars[$str[$i]];
    }
    return $result;
  }

?>

mitt bästa försök:

<?php
$num = 11; // pontus
  function roman($num) {
    $chars = array("I", "V", "X", "L", "C", "D", "M");
    $str = strval($num);

    $len = strlen($str);
    $result = "";
    for ($i = 0; $i < $len; $i++) {
      $base = 2 * ($len - $i - 1);
      $chs = array($chars[$base], $chars[$base + 1], $chars[$base + 2]);
      $romanchars = array("",
        $chs[0],
        $chs[0] . $chs[0],
        $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[1],
        $chs[1],
        $chs[1] . $chs[0],
        $chs[1] . $chs[0] . $chs[0],
        $chs[1] . $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[2]);

      $result .= $romanchars[$str[$i]];
    }
    return $result;
  }
    print("$result");  // pontus
?>

Någon?

Medlem sedan dec. 2002789 inlägg
#2
$num = 11;

echo roman($num); // Skriver ut det romerskanr.

$tmp = roman($num); // $tmp variabeln innehåller nu det romerskanr.
exit;

  function roman($num) {
    $chars = array("I", "V", "X", "L", "C", "D", "M");
    $str = strval($num);

    $len = strlen($str);
    $result = "";
    for ($i = 0; $i < $len; $i++) {
      $base = 2 * ($len - $i - 1);
      $chs = array($chars[$base], $chars[$base + 1], $chars[$base + 2]);
      $romanchars = array("",
        $chs[0],
        $chs[0] . $chs[0],
        $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[1],
        $chs[1],
        $chs[1] . $chs[0],
        $chs[1] . $chs[0] . $chs[0],
        $chs[1] . $chs[0] . $chs[0] . $chs[0],
        $chs[0] . $chs[2]);

      $result .= $romanchars[$str[$i]];
    }
    return $result;
  }
Medlem sedan juni 2002324 inlägg
#3

Sånt här borde man ju kunna, börjar nog bli läggdax.... :e

Tack för hjälpen iaf...

260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)