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