fork(1) download
  1. #!/usr/bin/perl
  2. # your code goes here
  3. {
  4. my @data;
  5.  
  6. for (1, 21, 31, 41, 51, 61, 71, 81, 91) {
  7. $data[$_] = 1;
  8. }
  9.  
  10. for (2..4, 22..24, 32..34, 42..44,
  11. 52..54, 62..64, 72..74, 82..84, 92..94) {
  12. $data[$_] = 2;
  13. }
  14.  
  15. for (0, 5..9, 10..20, 25..30,
  16. 35..40, 45..50, 55..60, 65..70,
  17. 75..80, 85..90, 95, 96, 97, 98, 99) {
  18. $data[$_] = 3;
  19. }
  20.  
  21. sub plural($$$$) {
  22. return $_[$data[$_[0] % 100]];
  23. }
  24. }
  25.  
  26. for (1..5, 34, 35, 180, 181, 182, 255) {
  27. printf "%d %s\n", $_, plural($_, 'день','дня','дней');
  28. }
Success #stdin #stdout 0s 3564KB
stdin
Standard input is empty
stdout
1 день
2 дня
3 дня
4 дня
5 дней
34 дня
35 дней
180 дней
181 день
182 дня
255 дней