JSFiddle - React, Tailwind, and code Playground
by mvasilkov
HTML
<pre id=out>
CSS
pre { font: 12px Consolas, Monaco, monospace }
JavaScript
var forms = 'рубль,рубля,рублей'.split(',')
/* Алгориииитм! */
function getForm(x) {
var x10 = x % 10, x100 = x % 100, form = 2 // рублей
if (x10 == 1 && x100 != 11)
form = 0 // рубль
else if (x10 > 1 && x10 < 5 && (x100 < 10 || x100 > 21))
form = 1 // рубля
return forms[form]
}
/* Ненаучный тест */
var res = ''
for (var i = 0; i < 26; ++i) {
res += i + ' ' + getForm(i) + '<br>'
}
res += '...<br>'
for (var i = 100; i < 126; ++i) {
res += i + ' ' + getForm(i) + '<br>'
}
document.getElementById('out').innerHTML = res