4 ms·
The Russian demo does not work. Must be 1 котёнок, 2 котёнка.
by bmn_ 12y ago
The Russian demo does not work. Must be 1 котёнок, 2 котёнка.
- mynegation 12y agoIronically, this is exactly the case described in the article, and even the article got it slightly wrong. The rules in pseudocode - for this specific sentence! - are as follows: if ((n % 10 == 1) && (n % 100 != 11)) { // singular nominative (not accusative as article says) - 1 котенок, 101 котенок, 301 котенок } else if (n % 10 >= 2 && n % 10 <= 4 && n % 100 <12 && n % 100 > 14) { // singular genitive: 2 котенка, 43 котенка, 1024 котенка } else { // all other cases plural genitive: 5 котят, 11 котят, 212 котят } But this is true only for this sentence because kittens here are the subject, not the object: with Russian verb "есть" (to be, to exist) the literal translation would be "Kitten/Kittens exists/exist belonging to Harry". Once the declension of the numbered subject(s) turns to accusative: "Гарри гладит 1 котенка" ("Harry pets one kitten"), the rules become much simpler: if ((n % 10 == 1) && (n % 100 != 11)) { // singular accusative - 1 котенка, 101 котенка, 301 котенка } else { // all other cases plural genitive: 2 котят, 43 котят, 5 котят, 11 котят, 212 котят }