"bir yuz yigirma uch" = yuz + yigirma + uch = 100 + 20 + 3 = 123
Har bir narsa oddiy bo'lsa-da, lekin chuqurroq qazish, masalan, "ikki yuz o'n ikki ming yuz besh"sonini ko'rib chiqing.
"ikki yuz o'n ikki ming yuz besh" = (ikki yuz + o'n ikki) × ming + (yuz + besh) = 212 * 1.000 + 105 = 212.105.
Ko'rib turganingizdek, minglab (shuningdek, millionlab va minglab boshqa darajalar) mavjud bo'lganda, bu raqam yuqorida keltirilgan misolda mahalliy kichik raqamdan tashkil topgan qismlarga bo'linadi – 212 va multiplikator (1000). Bunday qismlar bir nechta bo'lishi mumkin, ammo ularning barchasi ko'payishning pasayishi bilan ketadi, masalan, mingdan bir million yoki boshqa ming kishi ta'qib qila olmaydi. Bu kichik sonning qismlari uchun ham amal qiladi, shuning uchun yuzlab odamlar yuzlab, o'nlab kishilar ta'qib qila olmaydi, shuning uchun "yuz besh yuz" yozuvi noto'g'ri. Bir xil turdagi ikkita Tokenni o'z ichiga olgan xarakterli xususiyat, masalan, "yuz" va "uch yuz" belgilar bir darajaga ega va u "ellik"belgidan kattaroqdir.
Ushbu fikrlardan algoritm g'oyasi tug'iladi. Keling, har bir raqamga mos keladigan barcha mumkin bo'lgan belgilar (namunalar) ni, shuningdek, ikkita parametrni – multiplikator darajasini va belgisini yozamiz.
Token Soni Darajasi Multiplier? nol 0 1 yo'q bitta/bitta 1 1 yo'q ikki/ikki 2 1 yo'q …
…
1 yo'q o'n to'qqiz 19 1 yo'q yigirma 20 2 yo'q …
…