1. C# / Говнокод #11933

    +137

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    public List<int> parseInt(string input)
    {
      string res = "";
      int i = 0;
      while (input[i] != ' ')
      {
        res = res + input[i];
        //System.Console.WriteLine(res + " = res[" + i + "]");
        i++;
      }
      i = res.Length - 4;
      List<int> num = new List<int>();
      for (int j = 0; i > -4; i = i - 4, j++)
      {
        try
        {
          num.Add(int.Parse(res.Substring(i, 4)));
        }
        catch (Exception e1)
        {
          try
          {
            num.Add(int.Parse(res.Substring(i + 1, 3)));
          }
          catch (Exception e2)
          {
            try
            {
              num.Add(int.Parse(res.Substring(i + 2, 2)));
            }
            catch (Exception e3)
            {
              num.Add(int.Parse(res.Substring(i + 3, 1)));
            }
          }
        }
      //System.Console.WriteLine(num[j]+" = num["+j+"]");
      }
      return num;
    }

    Опять студенты.
    Задание: реализовать длинную арифметику.

    один из примеров чтения длинного числа

    Запостил: graph_di5, 16 Октября 2012

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

    • А чего, программа очень правдоподобно имитирует человечскую логику, жаль только компьютеры так не работают.
      Ответить
    • > длинную арифметику.
      Так вроде ж есть уже BigInteger для этого.
      try/catch свели к if/else
      Ответить
    • Переносим вес на левую ножку... Аккуратно, не спеша... поднимаем правую, передвигаем чуть вперед, опускаем...
      Ответить
    • Даешь Duff device вместо try-catch'ей!
      Ответить
    • decimal уже запрещен?
      Ответить

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