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

    +156

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    private static BigInteger result = 0;
            static BigInteger F1 = 1;
            static BigInteger F2 = 1;
            static BigInteger provv;
            static BigInteger provv2;
    
            static void Main(string[] args)
            {
                for (BigInteger number = 3; result == 0; number++)
                {
                    provv2 = F2;
                    F2 = F2 + F1;
                    F1 = provv2; ;
                    if (HasProperty(F2.ToString()))
                        result = number;
                }
            }
    
            private static bool HasProperty(string number)
            {
                if (number.Length < 9)
                    return false;
                if (IsPandigital(number.Substring(0, 9)))
                    if (IsPandigital(number.Substring(number.Length - 9, 9)))
                        return true;
                return false;
            }
    
            private static bool IsPandigital(string result)
            {
                int repetitions;
                for (int count = 0; count < 9; count++)
                {
                    repetitions = 0;
                    for (int count2 = 0; count2 < 9; count2++)
                    {
                        if (result.ElementAt(count).ToString() == "0")
                            return false;
                        if (result.ElementAt(count).ToString() == result.ElementAt(count2).ToString())
                        {
                            repetitions++;
                            if (repetitions == 2)
                                return false;
                        }
                    }
                }
                return true;
            }

    http://projecteuler.net/problem=104
    http://projecteuler.net/thread=104;page=6



    >brute force approach,solved aproximately in 24 hours
    >solved aproximately in 24 hours
    >24 hours
    >24
    >hours


    Терпеливый, сука!

    TheHamstertamer, 17 Июня 2012

    Комментарии (57)
  2. C# / Говнокод #10999

    +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
    [ExposeProperty]
    public bool Exhausted {
    	get {
    		if (this.State > FatigueConsts.globalNormalRange)
    			return true;
    		else
    			return false;
    	}
    	set {
    		if (this.State > FatigueConsts.globalNormalRange)
    			Exhausted = true;
    		else
    			Exhausted = false;
    	}
    }

    И потом полчаса сидел, понимал, почему Юнити зависает, когда я пытаюсь открыть инспектор с этим объектом ) Потом поставил в сеттер return;, ибо для костыля [ExposeProperty] требуются и геттер, и сеттер.

    sulnedinfind, 17 Июня 2012

    Комментарии (19)
  3. C# / Говнокод #10975

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static IEnumerable<T> QuickSort<T>(
    	this IEnumerable<T> source) where T : IComparable<T>
    	{
    		if (!source.Any()) return source;
    		var first = source.First();
    		return source
    			.AsParallel()
    			.GroupBy(i => i.CompareTo(first))
    			.OrderBy(g => g.Key)
    			.SelectMany(g => g.Key == 0 ? g : QuickSort(g));
    	}

    HaskellGovno, 16 Июня 2012

    Комментарии (27)
  4. C# / Говнокод #10946

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public sbyte GetSByte(int i)
    {
        IMySqlValue v = GetFieldValue(i, false);
        if (v is MySqlByte)
            return ((MySqlByte)v).Value;
    
        return ((MySqlByte)v).Value;
    }

    Вытащил это "чудо" когда ковырялся в сырцах MySQL .NET Connector-а

    Heisenberg, 13 Июня 2012

    Комментарии (7)
  5. C# / Говнокод #10936

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    return status == TestStatus.Skipped
                        ? TestResultStatus.Skiped
                        : status == TestStatus.Inconclusive
                        ? TestResultStatus.Skiped
                        : status == TestStatus.Failed
                        ? TestResultStatus.Failed
                        : status == TestStatus.Passed
                        ? TestResultStatus.Passed 
                        : TestResultStatus.Failed;

    dirtygopher, 13 Июня 2012

    Комментарии (10)
  6. C# / Говнокод #10929

    +127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    static char[] decToBin(int n)
    {
        byte size = sizeof(int) * 8;
        char[] result = new char[size];
    
        for (int i = 0; i < size; i++) 
        {
            result[size - i - 1] = (((n >> i) & 1).ToString().ToCharArray()[0]);
        }
        return result;
    }

    Плохо пахнущий транслятор непосредственно в дополнительный код.

    vistefan, 12 Июня 2012

    Комментарии (7)
  7. C# / Говнокод #10921

    +132

    1. 1
    2. 2
    3. 3
    long id;
    try { id = long.Parse(e.Item.Cells[0].Text); }
    catch { id = 0; }

    Эта жемчужина прекрасно описывает весь говнокод производимый различными группами людей в моей компании.

    piocsic, 12 Июня 2012

    Комментарии (14)
  8. C# / Говнокод #10823

    +104

    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
    using (var s = _session.OpenSession())
    	using (var tr = s.BeginTransaction())
    	{
    		if (!s.IsConnected)
    		{
    			s.SaveOrUpdate(factor);
    			tr.Commit();
    			s.Close();
    			return true;
    		}
    		else
    		{
    			s.Close();
    			return false;
    		}
    	}

    Maps, 09 Июня 2012

    Комментарии (8)
  9. C# / Говнокод #10568

    +92

    1. 1
    double e1 = (((-Data[65021] + 1.25) / 2) > 0) && (((-Data[65021] + 1.25) / 2) < 6) ? 180 * Math.Acos(((-Data[65021] + 1.25) / 2) / 6.07) / Math.PI : 90;

    Просто вычисляется в одну строчку угол. В алгоритме расчета параметров тех.процесса.

    maitredesir, 05 Июня 2012

    Комментарии (5)
  10. C# / Говнокод #10542

    +89

    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
    private void СтолкновениеСБонусом()// столкновение с бонусом
            {
                for (int i = 0; i < бонус.Count; i++)
                {
                    if (Math.Abs(packMan.x - бонус[i].x) <= 19 && (packMan.y == бонус[i].y)
                        ||
                        (packMan.x == бонус[i].x) && Math.Abs(packMan.y - бонус[i].y) <= 19
                        ||
                        Math.Abs(packMan.x - бонус[i].x) <= 19 && Math.Abs(packMan.y - бонус[i].y) <= 19
                        )
                    {
                        бонус.Remove(бонус[i]);//удаляем бонус
                        fl1 = false;//ставим в ложь и привидения прекрашают движение
                        //Labe2();
                        _tm1.Enabled = true;//таймер включен, хоть он и так включен
                        
                        _tm1.Start();//старт таймера
                    }
                }
            }

    Автор кода недоумевает, как код сделать еще читабельнее :facepalm:
    Комментарии доставляют :)
    Тема на форуме http://www.cyberforum.ru/csharp-beginners/thread586090.html

    psina-from-ua, 04 Июня 2012

    Комментарии (3)