Си диез / Говнокод #22666 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
static void Main(string[] args)
        {
            string[] numsTo9 = { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
            string[] numsTo19 = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
            string[] klorNums = { "", "", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eigthty", "ninety" };
            string[] bignums = { "", "", "", "hundred", "thousand", "thousand", "million" };

            string numStr = Console.ReadLine();
            string result = "";
            int number = Int32.Parse(numStr);
            int length = numStr.Length;
            int[] numsArr = new int[length];

            for (int i = 0; i < length; i++)
            {
                if (i == 0)
                    numsArr[i] = number / (int)Math.Pow(10, length - (i + 1));
                if (i == length - 1)
                    numsArr[i] = number % 10;
                else
                    numsArr[i] = (number / (int)Math.Pow(10, length - (i + 1))) % 10;
            }

Говно начинается тут

            result = (length == 3 ? numsArr[1] == 1 ? $"{numsTo9[numsArr[0]] } {bignums[length]} {numsTo19[(number % 100) - 10]}" :
                      $"{numsTo9[numsArr[0]] } {bignums[length]} {klorNums[numsArr[1]]} {numsTo9[numsArr[2]]}" :
                      length == 2 ? (numsArr[0] == 1) ? $"{numsTo19[number - 10]}" :
                      $"{klorNums[numsArr[0]]} {numsTo9[numsArr[1]]}" :
                      length == 1 ? numsTo9[number] :
                      length == 4 ? (numsArr[0] == 1) ? (numsArr[2] == 1) ? $"{numsTo19[(numsArr[0] * 10 + numsArr[1]) - 10]} {numsTo19[(numsArr[2] * 10 + numsArr[3]) - 10]}" :
                      $"{numsTo19[(numsArr[0] * 10 + numsArr[1]) - 10]} {klorNums[numsArr[2]]} {numsTo9[numsArr[3]]}" :
                      $"{klorNums[numsArr[0]]} {numsTo9[numsArr[1]]} {klorNums[numsArr[2]]} {numsTo9[numsArr[3]]}" : ""
                     );
            Console.WriteLine(result);

Получаем цифру в виде слов по методу Доктора Пимсрала

Запостил: K1llray64 K1llray64, (Updated )

Комментарии (0) RSS

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8