fork download
  1. var numerals = ["ноль","один","два","три","цетыре","пять","шесть","семь","восемь","девять","десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"];
  2. numerals10 = [0,0 ,"двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"];
  3.  
  4. function mod(a,b){return Math.round(a/b - a%b/10)}
  5.  
  6. function l(c){print(c)}
  7.  
  8. function numberToWord(number){
  9. return number<21 ? numerals[number] : number%10 === 0? numerals10[mod(number,10)] : numerals10[mod(number,10)]+" "+numberToWord(number%10);
  10. }
  11.  
  12. function ending(a){return (a%10 === 0)||(a%10>4)||((a%100>9)&&(a%100<21))? "ов" :a%10 === 1? "" : "а"} //a%10 === 1?"": a%10 < 5?"а":"ов"}
  13.  
  14. function hard(){
  15. var firstPhrase = "В этом предложении ровно ";
  16. var secondPhrase = " символ";
  17.  
  18. for(var i=1;i<100;i++){
  19. var sentenceLength = firstPhrase.length + numberToWord(i).length + secondPhrase.length + ending(i).length+1;
  20. if (sentenceLength === i) {
  21. var sentence = firstPhrase +numberToWord(i)+ secondPhrase+ending(i)+".";
  22. l(sentence);
  23. l(sentence.length);
  24. }
  25. }
  26. }
  27.  
  28. hard()
Success #stdin #stdout 0.01s 29984KB
stdin
Standard input is empty
stdout
В этом предложении ровно сорок символов.
40
В этом предложении ровно сорок три символа.
43
В этом предложении ровно сорок пять символов.
45
В этом предложении ровно сорок шесть символов.
46