Binarna tabliczka mnożenia w JavaScript

0

Witam.
Czy ktoś chciałby mi pomóc w stworzeniu tabliczki mnożenia w JavaScript'cie wraz z możliwą konwersją na inne systemy liczbowe. Ma to wyglądać tak jak na załączonym obrazku. Sama tabliczka nie jest problemem, bardziej jej konwersja. Poniżej prezentuje gotową tabliczkę.

<script type="text/javascript">
        function tab_mnozenia()  {
                document.write("<table border=\"0\">");
                for (i=1; i<=10; i++)
                    {
                         document.write("<tr><td>" + i + "</td>");
                            for (j=1; j<=10; j++)
                    {
                        if (j != 1) {
                            document.write("<td>" + i*j + "</td>");
                    }
                        }
                        document.write("</tr>");
                    }
                        document.write("</table>");
                        
}
</script>

</head>
<body>
    <div class="liczby">
    <script>
        tab_mnozenia();
    </script>
1

Myślę, że najprościej czynniki przyjąć w formie tekstowej, przekonwertować na system dziesiętny (zwykłe liczby), pomnożyć, a iloczyn przekonwertować na system, który chcesz i wydać w postaci tekstowej.

Załóżmy, że wybierzesz system piątkowy, to poczynając od najmniej znaczącego znaku (wtedy każdy znak wyniesie od 0 do 4) robisz mnożenie przez kolejne potęgi liczby 5, czyli pierwsza cyfrę mnożysz przez 5, drugą przez 25, trzecią przez 125 itd.

Konwersja w druga stronę to tak: Szukasz największej potęgi liczby 5 (czyli liczba z ciągu 5, 25, 125, 625...), mniejszą od podanej liczby. Dzielisz całkowitoliczbowo daną liczbę (wynik mnożenia) przez tą liczbę (z ciągu potęg 5), wynik jest najbardziej znaczącą cyfrą. Potem robisz działanie mod taj liczby danej z potęgą liczbt 5. Wynik tego działania mod jest daną liczbą, którą dzielisz przez poprzedni wyraz ciągu (czyli wartość potęgi o 1 mniejszą) i masz kolejną cyfrę. Postępujesz tak długo, aż dzielnik zmniejszy się do 1 (5^0).

Przy innych systemach robisz dokładnie to samo, tyle, że podstawa potęgi do konwersji w obie strony odpowiada podstawie danego systemu.

2

Albo można tak: (i * j).toString(2)

1 użytkowników online, w tym zalogowanych: 0, gości: 1