<?php function smallNumbers($number, $isFemale) { 0 => 'ноль ', 10 => 'десять ', 100 => 'сто ', 1 => 'один ', 11 => 'одиннадцать ', 20 => 'двадцать ', 200 => 'двести ', 2 => 'два ', 12 => 'двенадцать ', 30 => 'тридцать ', 300 => 'триста ', 3 => 'три ', 13 => 'тринадцать ', 40 => 'сорок ', 400 => 'четыреста ', 4 => 'четыре ', 14 => 'четырнадцать ', 50 => 'пятьдесят ', 500 => 'пятьсот ', 5 => 'пять ', 15 => 'пятнадцать ', 60 => 'шестьдесят ', 600 => 'шестьсот ', 6 => 'шесть ', 16 => 'шестнадцать ', 70 => 'семьдесят ', 700 => 'семьсот ', 7 => 'семь ', 17 => 'семнадцать ', 80 => 'восемьдесят ', 800 => 'восемьсот ', 8 => 'восемь ', 18 => 'восемнадцать ', 90 => 'девяносто ', 900 => 'девятьсот ', 9 => 'девять ', 19 => 'девятнадцать ' ); 1 => 'одна ', 2 => 'две ' ); $result = ''; $hundreds = 0; $tens = 0; $ones = 0; if ($hundreds >= 100) { $result .= $spelling[$hundreds]; } $remains = $number - $hundreds; if ($remains == 0) { return $result; } elseif ($remains >= 20) { $result .= $spelling[$tens]; $ones = $remains - $tens; if (($ones < 3) && ($ones > 0) && ($isFemale == true)) { $result .= $femaleSpelling[$ones]; } elseif ($ones > 0) { $result .= $spelling[$ones]; } } elseif (($remains < 20) && ($isFemale == false)) { $result .= $spelling[$remains]; } elseif (($remains < 3) && ($isFemale == true)) { $result .= $femaleSpelling[$remains]; } else { $result .= $spelling[$remains]; } return $result; } function typeEnding ($number, $power) { ); $ending =""; $lastNumbers = $number % 10; if ((($number%100<=20) & ($number%100>=5)) or (($lastNumbers>=5) or (($lastNumbers==0) and ($number>0)))) { $ending .= $typing[$power][1]; } elseif ($lastNumbers == 1) { $ending .= $typing[$power][0]; } elseif (($lastNumbers > 1) & ($lastNumbers < 5)) { $ending .= $typing[$power][2]; } return $ending; } function typeNumbers ($number) { $typeTotal =""; if ($number == 0) { $typeTotal .= "ноль рублей"; return $typeTotal; } $typeTotal .= smallNumbers($millions, false); $typeTotal .= typeEnding($millions, 0); $typeTotal .= smallNumbers($thousands, true); $typeTotal .= typeEnding($thousands, 1); $ones = $number % 1000; $typeTotal .= smallNumbers($ones, false); $typeTotal .= typeEnding($ones, 2); return $typeTotal; } function tests($n, $k) { for ($i=0,$j=1; $i < $n; $i++, $j*=$k) { $typedTestNumber = typeNumbers($randomTestNumber); echo "$randomTestNumber - $typedTestNumber\n"; } } tests(300, 1.07);
Standard input is empty
632648573 - шестьсот тридцать два миллиона шестьсот сорок восемь тысяч пятьсот семьдесят три рубля 788828215 - семьсот восемьдесят восемь миллионов восемьсот двадцать восемь тысяч двести пятнадцать рублей 50528391 - пятьдесят миллионов пятьсот двадцать восемь тысяч триста девяносто один рубль 668015295 - шестьсот шестьдесят восемь миллионов пятнадцать тысяч двести девяносто пять рублей 522522997 - пятьсот двадцать два миллиона пятьсот двадцать две тысячи девятьсот девяносто семь рублей 501069932 - пятьсот один миллион шестьдесят девять тысяч девятьсот тридцать два рубля 628169579 - шестьсот двадцать восемь миллионов сто шестьдесят девять тысяч пятьсот семьдесят девять рублей 600765579 - шестьсот миллионов семьсот шестьдесят пять тысяч пятьсот семьдесят девять рублей 127531201 - сто двадцать семь миллионов пятьсот тридцать одна тысяча двести один рубль 151640378 - сто пятьдесят один миллион шестьсот сорок тысяч триста семьдесят восемь рублей 15308566 - пятнадцать миллионов триста восемь тысяч пятьсот шестьдесят шесть рублей 427330853 - четыреста двадцать семь миллионов триста тридцать тысяч восемьсот пятьдесят три рубля 288155054 - двести восемьдесят восемь миллионов сто пятьдесят пять тысяч пятьдесят четыре рубля 83774052 - восемьдесят три миллиона семьсот семьдесят четыре тысячи пятьдесят два рубля 207653584 - двести семь миллионов шестьсот пятьдесят три тысячи пятьсот восемьдесят четыре рубля 82692560 - восемьдесят два миллиона шестьсот девяносто две тысячи пятьсот шестьдесят рублей 269415273 - двести шестьдесят девять миллионов четыреста пятнадцать тысяч двести семьдесят три рубля 294456263 - двести девяносто четыре миллиона четыреста пятьдесят шесть тысяч двести шестьдесят три рубля 29203927 - двадцать девять миллионов двести три тысячи девятьсот двадцать семь рублей 42845762 - сорок два миллиона восемьсот сорок пять тысяч семьсот шестьдесят два рубля 160082506 - сто шестьдесят миллионов восемьдесят две тысячи пятьсот шесть рублей 7561857 - семь миллионов пятьсот шестьдесят одна тысяча восемьсот пятьдесят семь рублей 130249876 - сто тридцать миллионов двести сорок девять тысяч восемьсот семьдесят шесть рублей 65796085 - шестьдесят пять миллионов семьсот девяносто шесть тысяч восемьдесят пять рублей 29232367 - двадцать девять миллионов двести тридцать две тысячи триста шестьдесят семь рублей 83906450 - восемьдесят три миллиона девятьсот шесть тысяч четыреста пятьдесят рублей 110678419 - сто десять миллионов шестьсот семьдесят восемь тысяч четыреста девятнадцать рублей 25618815 - двадцать пять миллионов шестьсот восемнадцать тысяч восемьсот пятнадцать рублей 134907523 - сто тридцать четыре миллиона девятьсот семь тысяч пятьсот двадцать три рубля 24134716 - двадцать четыре миллиона сто тридцать четыре тысячи семьсот шестнадцать рублей 39864674 - тридцать девять миллионов восемьсот шестьдесят четыре тысячи шестьсот семьдесят четыре рубля 45318878 - сорок пять миллионов триста восемнадцать тысяч восемьсот семьдесят восемь рублей 57015228 - пятьдесят семь миллионов пятнадцать тысяч двести двадцать восемь рублей 101375901 - сто один миллион триста семьдесят пять тысяч девятьсот один рубль 14826437 - четырнадцать миллионов восемьсот двадцать шесть тысяч четыреста тридцать семь рублей 6286082 - шесть миллионов двести восемьдесят шесть тысяч восемьдесят два рубля 40880964 - сорок миллионов восемьсот восемьдесят тысяч девятьсот шестьдесят четыре рубля 42429273 - сорок два миллиона четыреста двадцать девять тысяч двести семьдесят три рубля 27648548 - двадцать семь миллионов шестьсот сорок восемь тысяч пятьсот сорок восемь рублей 23953979 - двадцать три миллиона девятьсот пятьдесят три тысячи девятьсот семьдесят девять рублей 828809 - восемьсот двадцать восемь тысяч восемьсот девять рублей 48196575 - сорок восемь миллионов сто девяносто шесть тысяч пятьсот семьдесят пять рублей 198919 - сто девяносто восемь тысяч девятьсот девятнадцать рублей 31044292 - тридцать один миллион сорок четыре тысячи двести девяносто два рубля 21546445 - двадцать один миллион пятьсот сорок шесть тысяч четыреста сорок пять рублей 45215330 - сорок пять миллионов двести пятнадцать тысяч триста тридцать рублей 35158621 - тридцать пять миллионов сто пятьдесят восемь тысяч шестьсот двадцать один рубль 31240618 - тридцать один миллион двести сорок тысяч шестьсот восемнадцать рублей 24706514 - двадцать четыре миллиона семьсот шесть тысяч пятьсот четырнадцать рублей 27623317 - двадцать семь миллионов шестьсот двадцать три тысячи триста семнадцать рублей 25270884 - двадцать пять миллионов двести семьдесят тысяч восемьсот восемьдесят четыре рубля 14122838 - четырнадцать миллионов сто двадцать две тысячи восемьсот тридцать восемь рублей 2828003 - два миллиона восемьсот двадцать восемь тысяч три рубля 25679591 - двадцать пять миллионов шестьсот семьдесят девять тысяч пятьсот девяносто один рубль 1966468 - один миллион девятьсот шестьдесят шесть тысяч четыреста шестьдесят восемь рублей 17612630 - семнадцать миллионов шестьсот двенадцать тысяч шестьсот тридцать рублей 11834190 - одиннадцать миллионов восемьсот тридцать четыре тысячи сто девяносто рублей 10410796 - десять миллионов четыреста десять тысяч семьсот девяносто шесть рублей 3179936 - три миллиона сто семьдесят девять тысяч девятьсот тридцать шесть рублей 6339936 - шесть миллионов триста тридцать девять тысяч девятьсот тридцать шесть рублей 559766 - пятьсот пятьдесят девять тысяч семьсот шестьдесят шесть рублей 15598825 - пятнадцать миллионов пятьсот девяносто восемь тысяч восемьсот двадцать пять рублей 8327019 - восемь миллионов триста двадцать семь тысяч девятнадцать рублей 364363 - триста шестьдесят четыре тысячи триста шестьдесят три рубля 351944 - триста пятьдесят одна тысяча девятьсот сорок четыре рубля 6447722 - шесть миллионов четыреста сорок семь тысяч семьсот двадцать два рубля 1631567 - один миллион шестьсот тридцать одна тысяча пятьсот шестьдесят семь рублей 9529017 - девять миллионов пятьсот двадцать девять тысяч семнадцать рублей 6360647 - шесть миллионов триста шестьдесят тысяч шестьсот сорок семь рублей 308275 - триста восемь тысяч двести семьдесят пять рублей 7064896 - семь миллионов шестьдесят четыре тысячи восемьсот девяносто шесть рублей 2435112 - два миллиона четыреста тридцать пять тысяч сто двенадцать рублей 2631091 - два миллиона шестьсот тридцать одна тысяча девяносто один рубль 2575992 - два миллиона пятьсот семьдесят пять тысяч девятьсот девяносто два рубля 6056996 - шесть миллионов пятьдесят шесть тысяч девятьсот девяносто шесть рублей 5508724 - пять миллионов пятьсот восемь тысяч семьсот двадцать четыре рубля 635764 - шестьсот тридцать пять тысяч семьсот шестьдесят четыре рубля 1058405 - один миллион пятьдесят восемь тысяч четыреста пять рублей 3450310 - три миллиона четыреста пятьдесят тысяч триста десять рублей 1987867 - один миллион девятьсот восемьдесят семь тысяч восемьсот шестьдесят семь рублей 1898762 - один миллион восемьсот девяносто восемь тысяч семьсот шестьдесят два рубля 1613884 - один миллион шестьсот тринадцать тысяч восемьсот восемьдесят четыре рубля 206237 - двести шесть тысяч двести тридцать семь рублей 1858813 - один миллион восемьсот пятьдесят восемь тысяч восемьсот тринадцать рублей 2433127 - два миллиона четыреста тридцать три тысячи сто двадцать семь рублей 2977448 - два миллиона девятьсот семьдесят семь тысяч четыреста сорок восемь рублей 131535 - сто тридцать одна тысяча пятьсот тридцать пять рублей 1099275 - один миллион девяносто девять тысяч двести семьдесят пять рублей 46285 - сорок шесть тысяч двести восемьдесят пять рублей 1463696 - один миллион четыреста шестьдесят три тысячи шестьсот девяносто шесть рублей 919388 - девятьсот девятнадцать тысяч триста восемьдесят восемь рублей 2060325 - два миллиона шестьдесят тысяч триста двадцать пять рублей 357300 - триста пятьдесят семь тысяч триста рублей 890193 - восемьсот девяносто тысяч сто девяносто три рубля 987528 - девятьсот восемьдесят семь тысяч пятьсот двадцать восемь рублей 1549822 - один миллион пятьсот сорок девять тысяч восемьсот двадцать два рубля 83602 - восемьдесят три тысячи шестьсот два рубля 137395 - сто тридцать семь тысяч триста девяносто пять рублей 1111318 - один миллион сто одиннадцать тысяч триста восемнадцать рублей 575128 - пятьсот семьдесят пять тысяч сто двадцать восемь рублей 484365 - четыреста восемьдесят четыре тысячи триста шестьдесят пять рублей 552187 - пятьсот пятьдесят две тысячи сто восемьдесят семь рублей 554938 - пятьсот пятьдесят четыре тысячи девятьсот тридцать восемь рублей 17437 - семнадцать тысяч четыреста тридцать семь рублей 291900 - двести девяносто одна тысяча девятьсот рублей 765973 - семьсот шестьдесят пять тысяч девятьсот семьдесят три рубля 421140 - четыреста двадцать одна тысяча сто сорок рублей 600914 - шестьсот тысяч девятьсот четырнадцать рублей 255648 - двести пятьдесят пять тысяч шестьсот сорок восемь рублей 19024 - девятнадцать тысяч двадцать четыре рубля 54899 - пятьдесят четыре тысячи восемьсот девяносто девять рублей 108056 - сто восемь тысяч пятьдесят шесть рублей 494972 - четыреста девяносто четыре тысячи девятьсот семьдесят два рубля 346666 - триста сорок шесть тысяч шестьсот шестьдесят шесть рублей 300216 - триста тысяч двести шестнадцать рублей 137513 - сто тридцать семь тысяч пятьсот тринадцать рублей 293719 - двести девяносто три тысячи семьсот девятнадцать рублей 71249 - семьдесят одна тысяча двести сорок девять рублей 304241 - триста четыре тысячи двести сорок один рубль 210574 - двести десять тысяч пятьсот семьдесят четыре рубля 256824 - двести пятьдесят шесть тысяч восемьсот двадцать четыре рубля 130769 - сто тридцать тысяч семьсот шестьдесят девять рублей 203168 - двести три тысячи сто шестьдесят восемь рублей 123418 - сто двадцать три тысячи четыреста восемнадцать рублей 175055 - сто семьдесят пять тысяч пятьдесят пять рублей 86788 - восемьдесят шесть тысяч семьсот восемьдесят восемь рублей 16208 - шестнадцать тысяч двести восемь рублей 70541 - семьдесят тысяч пятьсот сорок один рубль 48727 - сорок восемь тысяч семьсот двадцать семь рублей 47567 - сорок семь тысяч пятьсот шестьдесят семь рублей 88256 - восемьдесят восемь тысяч двести пятьдесят шесть рублей 100768 - сто тысяч семьсот шестьдесят восемь рублей 111310 - сто одиннадцать тысяч триста десять рублей 45499 - сорок пять тысяч четыреста девяносто девять рублей 108937 - сто восемь тысяч девятьсот тридцать семь рублей 54391 - пятьдесят четыре тысячи триста девяносто один рубль 38678 - тридцать восемь тысяч шестьсот семьдесят восемь рублей 53007 - пятьдесят три тысячи семь рублей 68690 - шестьдесят восемь тысяч шестьсот девяносто рублей 71832 - семьдесят одна тысяча восемьсот тридцать два рубля 41833 - сорок одна тысяча восемьсот тридцать три рубля 10132 - десять тысяч сто тридцать два рубля 36701 - тридцать шесть тысяч семьсот один рубль 44438 - сорок четыре тысячи четыреста тридцать восемь рублей 49985 - сорок девять тысяч девятьсот восемьдесят пять рублей 6236 - шесть тысяч двести тридцать шесть рублей 4357 - четыре тысячи триста пятьдесят семь рублей 36594 - тридцать шесть тысяч пятьсот девяносто четыре рубля 37558 - тридцать семь тысяч пятьсот пятьдесят восемь рублей 31286 - тридцать одна тысяча двести восемьдесят шесть рублей 1540 - одна тысяча пятьсот сорок рублей 13457 - тринадцать тысяч четыреста пятьдесят семь рублей 19642 - девятнадцать тысяч шестьсот сорок два рубля 30097 - тридцать тысяч девяносто семь рублей 9458 - девять тысяч четыреста пятьдесят восемь рублей 1510 - одна тысяча пятьсот десять рублей 4647 - четыре тысячи шестьсот сорок семь рублей 1359 - одна тысяча триста пятьдесят девять рублей 16792 - шестнадцать тысяч семьсот девяносто два рубля 2437 - две тысячи четыреста тридцать семь рублей 2893 - две тысячи восемьсот девяносто три рубля 17034 - семнадцать тысяч тридцать четыре рубля 9598 - девять тысяч пятьсот девяносто восемь рублей 5076 - пять тысяч семьдесят шесть рублей 661 - шестьсот шестьдесят один рубль 10370 - десять тысяч триста семьдесят рублей 11592 - одиннадцать тысяч пятьсот девяносто два рубля 9349 - девять тысяч триста сорок девять рублей 2666 - две тысячи шестьсот шестьдесят шесть рублей 4289 - четыре тысячи двести восемьдесят девять рублей 4151 - четыре тысячи сто пятьдесят один рубль 4183 - четыре тысячи сто восемьдесят три рубля 1794 - одна тысяча семьсот девяносто четыре рубля 4078 - четыре тысячи семьдесят восемь рублей 1945 - одна тысяча девятьсот сорок пять рублей 6739 - шесть тысяч семьсот тридцать девять рублей 2987 - две тысячи девятьсот восемьдесят семь рублей 2554 - две тысячи пятьсот пятьдесят четыре рубля 1 - один рубль 5445 - пять тысяч четыреста сорок пять рублей 4850 - четыре тысячи восемьсот пятьдесят рублей 2950 - две тысячи девятьсот пятьдесят рублей 765 - семьсот шестьдесят пять рублей 3918 - три тысячи девятьсот восемнадцать рублей 2519 - две тысячи пятьсот девятнадцать рублей 2608 - две тысячи шестьсот восемь рублей 3396 - три тысячи триста девяносто шесть рублей 1075 - одна тысяча семьдесят пять рублей 1187 - одна тысяча сто восемьдесят семь рублей 2314 - две тысячи триста четырнадцать рублей 658 - шестьсот пятьдесят восемь рублей 1528 - одна тысяча пятьсот двадцать восемь рублей 794 - семьсот девяносто четыре рубля 3 - три рубля 1262 - одна тысяча двести шестьдесят два рубля 787 - семьсот восемьдесят семь рублей 231 - двести тридцать один рубль 1048 - одна тысяча сорок восемь рублей 595 - пятьсот девяносто пять рублей 1249 - одна тысяча двести сорок девять рублей 906 - девятьсот шесть рублей 320 - триста двадцать рублей 240 - двести сорок рублей 510 - пятьсот десять рублей 846 - восемьсот сорок шесть рублей 463 - четыреста шестьдесят три рубля 383 - триста восемьдесят три рубля 537 - пятьсот тридцать семь рублей 341 - триста сорок один рубль 468 - четыреста шестьдесят восемь рублей 586 - пятьсот восемьдесят шесть рублей 179 - сто семьдесят девять рублей 311 - триста одиннадцать рублей 535 - пятьсот тридцать пять рублей 459 - четыреста пятьдесят девять рублей 74 - семьдесят четыре рубля 19 - девятнадцать рублей 255 - двести пятьдесят пять рублей 291 - двести девяносто один рубль 33 - тридцать три рубля 26 - двадцать шесть рублей 140 - сто сорок рублей 234 - двести тридцать четыре рубля 216 - двести шестнадцать рублей 9 - девять рублей 50 - пятьдесят рублей 59 - пятьдесят девять рублей 108 - сто восемь рублей 113 - сто тринадцать рублей 21 - двадцать один рубль 65 - шестьдесят пять рублей 33 - тридцать три рубля 129 - сто двадцать девять рублей 34 - тридцать четыре рубля 132 - сто тридцать два рубля 120 - сто двадцать рублей 39 - тридцать девять рублей 6 - шесть рублей 77 - семьдесят семь рублей 13 - тринадцать рублей 14 - четырнадцать рублей 69 - шестьдесят девять рублей 51 - пятьдесят один рубль 52 - пятьдесят два рубля 64 - шестьдесят четыре рубля 37 - тридцать семь рублей 4 - четыре рубля 41 - сорок один рубль 25 - двадцать пять рублей 19 - девятнадцать рублей 32 - тридцать два рубля 9 - девять рублей 21 - двадцать один рубль 15 - пятнадцать рублей 2 - два рубля 11 - одиннадцать рублей 0 - ноль рублей 8 - восемь рублей 22 - двадцать два рубля 13 - тринадцать рублей 1 - один рубль 20 - двадцать рублей 16 - шестнадцать рублей 8 - восемь рублей 3 - три рубля 9 - девять рублей 13 - тринадцать рублей 4 - четыре рубля 13 - тринадцать рублей 10 - десять рублей 9 - девять рублей 2 - два рубля 3 - три рубля 2 - два рубля 2 - два рубля 6 - шесть рублей 2 - два рубля 7 - семь рублей 2 - два рубля 0 - ноль рублей 5 - пять рублей 0 - ноль рублей 5 - пять рублей 2 - два рубля 1 - один рубль 0 - ноль рублей 2 - два рубля 0 - ноль рублей 1 - один рубль 0 - ноль рублей 2 - два рубля 2 - два рубля 1 - один рубль 0 - ноль рублей 2 - два рубля 2 - два рубля 1 - один рубль 0 - ноль рублей 0 - ноль рублей 1 - один рубль