CodeCup.pl - zadanie 20

Tym razem w konkursie programistycznym Codecup pojawiło się zadanie podchwytliwe - ciekawe ile osób próbowało tego samego rozwiązania co ja i zdziwiło się pojawiającym się komunikatem :). Treść zadania to napisanie funkcji konwertującej zadaną liczbę z jednego systemu liczbowego na inny (pełna treść zadania 20). Rozwiązanie trywialne...

<?php

function code($input$baseFrom$baseTo) {
    return 
base_convert($input$baseFrom$baseTo);
}

?>

... nie zadziałało z powodu zabronienia wykorzystania funkcji 'base_convert' ;). Trzeba było wymyśleć coś nowego. Oto rezultat - dwulinijkowiec, dla przejrzystości zapisany w rozbitej formie. Jak zwykle czekam na komentarze i na Wasze kodziwa.

<?php


function code($input$baseFrom$baseTo) {
    for (
        
$base10 intval($input$baseFrom);
        
$base10 != 0;
        
$digit $base10 $baseTo,
        
$result .= ($digit) < 10 $digit chr(55 $digit),
        
$base10 = (int)($base10 $baseTo)
    );
    return 
strrev($result);
}

?>

A dzisiaj od godziny 20:00 dostępne jest kolejne, 21 zadanie konkursowe. Zapraszam do rozwiązywania, moje rozwiązanie już jest ;).

Poprzednie moje kodziwo.

Komentarze do wpisu "CodeCup.pl - zadanie 20":

Jeszcze nie ma żadnych komentarzy. Twój może być pierwszy.

Dodaj komentarz:

Textile Lite włączony ( szczegółowy opis znaczników ):
*strong* | # lista numerowana | * lista wypunktowana | _em_ | __italic__ | "link":http:// | bq. cytat.