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 ;).
±
Komentarze do wpisu "CodeCup.pl - zadanie 20":
Jeszcze nie ma żadnych komentarzy. Twój może być pierwszy.
Dodaj komentarz: