Kurzusok
/
SQLite
SQLite
/
Feladatok
/
All Your Base
All Your Base

All Your Base

Nehéz

Bevezetés

Nemrég felvettek matematikaprofesszornak. Az első heted jól telt, de a második héten valami nem stimmel. A probléma az, hogy a diákjaid minden válasza hibás! Szerencsére a matematikai képességeid segítségével azonosítani tudtad a problémát: a diákok válaszai helyesek, de mind bináris (2-es) számrendszerben vannak! Meglepő módon kiderült, hogy a diákok minden héten más számrendszert használnak. Hogy gyorsan ellenőrizni tudd a diákok válaszait, egy számrendszerek közötti átváltó eszközt fogsz építeni.

Utasítások

Alakítsd át az egyik számrendszerben lévő számjegysorozatot, amely egy számot jelöl, egy másik számrendszerben lévő számjegysorozattá, amely ugyanazt a számot jelöli.

Note

Próbáld meg magad megvalósítani az átalakítást. Ne használj mást, ami helyetted elvégzi az átalakítást.

A helyiértékes jelölésről

A helyiértékes jelölésben egy b alapú szám felfogható b hatványainak lineáris kombinációjaként.

A 42-es szám a tízes számrendszerben ezt jelenti:

(4 × 10¹) + (2 × 10⁰)

Az 101010-es szám a kettes számrendszerben ezt jelenti:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

Az 1120-as szám a hármas számrendszerben ezt jelenti:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

Igen. Ez a három szám pontosan ugyanaz. Gratulálok!

  • A digits oszlop egész számok JSON-kódolt listáját tartalmazza. Például:
    [1,0,1,0,1,0]
    
  • A result oszlopnak JSON-kódolt adatot kell tartalmaznia: egy objektumot, amelyben a számjegyek egész számként szerepelnek, vagy bármely hiba leírását. Például:
    {"digits":[1,0,1,0,1,0]}
    
    vagy
    {"error":"some error description"}
    

Táblaséma

CREATE TABLE IF NOT EXISTS "all-your-base" (
  input_base  INTEGER NOT NULL,
  digits      TEXT    NOT NULL, -- json array
  output_base INTEGER NOT NULL,
  result      TEXT              -- json object
);

JSON-dokumentáció

JSON-függvények és -operátorok

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
SQLite Exercism

Készen állsz elkezdeni a(z) All Your Base feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) SQLite nyelvet 81 feladat segítségével, valódi emberi mentorálással, mindez ingyen.