1. Список говнокодов пользователя zelenov.pavel

    Всего: 1

  2. C++ / Говнокод #2243

    +54.7

    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
    int NOD(int a,int b)
    		{
    			if(a==0)
    			{
    				return b;
    			}
    			if(b==0)
    			{
    				return a;
    			}
    			if(a==b)
    			{
    				return a;
    			}
    			if((a%2==0)&&(b%2==0))
    			{
    				return 2*NOD(a/2,b/2);
    			}
    			else if((a%2==0)&&(b%2!=0))
    			{
    				return NOD(a/2,b);
    			}
    			else if((a%2!=0)&&(b%2==0))
    			{
    				return NOD(a,b/2);
    			}
    			else if((a%2!=0)&&(b%2!=0))
    			{
    				return NOD(b,abs(a-b));
    			}
    			else return 1;
    
    			/*
    			   1. НОД(0, n) = n; НОД(m, 0) = m; НОД(m, m) = m;
    			   2. НОД(1, n) = 1; НОД(m, 1) = 1;
    			   3. Если m, n чётные, то НОД(m, n) = 2*НОД(m/2, n/2);
    			   4. Если m чётное, n нечётное, то НОД(m, n) = НОД(m/2, n);
    			   5. Если n чётное, m нечётное, то НОД(m, n) = НОД(m, n/2);
    			   6. Если m, n нечётные, то НОД(m, n) = НОД(n, |m - n|).
    
    			*/
    		}

    Алгоритм Евклида - прошлый век!
    Нарыл в Wiki некий алгоритм)

    zelenov.pavel, 07 Декабря 2009

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