1. Лучший говнокод

    В номинации:
    За время:
  2. Куча / Говнокод #13423

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    wrs(S):-put_char('\"'), wrsi(S).
    wrsi([C|S]):-put_char(C), wrsi(S).
    wrsi([]):-put_char('\"').
     
    wrl(S):-put_char('['), wrli(S), put_char(']').
    wrli([C|[O|S]]):-wrs(C), put_char(','), wrli([O|S]).
    wrli([C]):-wrs(C).
     
    :- wrl(["dog", "cat", "canary"]).

    Курю правильные примеры кода на прологе. PrologGovno ждите во всех кинотеатрах страны.
    http://ideone.com/L4vIKs
    Почему вместо того чтобы пользоваться стандартной функцией вывода списков или строк - автор рекомендует это? Я код правда поправил, а то хаскельных скобок (я уже без них не могу) не было и запятую в конце списка выдавало.

    HaskellGovno, 15 Июля 2013

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

    +15

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    #include<iostream>
    #include<set>
    #include<vector>
    #include<hash_set>
    #include<math.h>
    #include<stdlib.h>
    using namespace std;
    inline int po(int a,int b){
    int ans =1;
    for(int i=0;i<b;++i)ans*=a;
    return ans;
    }
    inline bool isnotsq(int a){
    	return sqrt(0.0+a)!=int(sqrt(a+0.0));
    }
    
    int main(){
    	int t,n,k;
    	cin>>t;
    	int SQRT  = 100000,primes[100100]={0};
    	primes[2]=1;
    	vector<int> pr;
    	pr.push_back(2);
    	for(int i = 3;i<=SQRT;i+=2){
    		if(primes[i]==0) {
    			pr.push_back(i);
    			for(int j = 2*i;j<=SQRT;j+=i) primes[j]=1;
    		}
    	}
    	while(t--){
    		cin>>n>>k;
    		int nn=n;
    		int divisors[1001];
    		int divisecount[1001]={0};
    		int divc=0;
    		int count = 0;
    		for(int i =0;i<pr.size();++i){
    			if(n%pr[i]==0) divisors[divc++]=pr[i];
    			while(n%pr[i]==0) divisecount[divc-1]++,n/=pr[i],count++;
    		}
    		if(n!=1) divisors[divc++]=n,divisecount[divc-1]=1;
    		//for(int i =0;i<divc;++i) cout<<divisors[i]<<' '<<divisecount[i]<<'\n';
    		vector< int> cbused;
    		vector<int> rem;
    		rem.push_back(0);
    		cbused.push_back(1);
    		
    		for(int i =0;i<divc;++i){
    			int cs = cbused.size();
    			for(int j =0;j<cs;++j){
    				int cc = divisors[i];
    				int ops=1;
    				while(1){
    					if(nn%(cbused[j]*cc)==0) {
    						if(isnotsq(cbused[j]*cc)) 
    							cbused.push_back(cbused[j]*cc),rem.push_back(rem[j]+ops);
    					}
    					else break;
    					cc*=divisors[i];
    					ops+=1;
    				}
     			}
    		}
    		//for(int  i = 0;i<cbused.size();++i) cout<<cbused[i]<<' '<<rem[i]<<'\n';
    		int siz= cbused.size();
    		set< pair<int,int > > anse;
    		anse.insert(make_pair(1,0));
    		for(int j = 1;j<siz;++j){
    			for(int i = cbused[j],k=1;nn%i==0;i*=cbused[j],k++) if(i%2==1) anse.insert(make_pair(i,k));
    		}
    		for(int i = 1;i<siz;++i){
    				vector<pair<int , int> > toa;
    				for(set< pair<int,int> >::iterator it=anse.begin();it!=anse.end();it++){
    					if(nn%(cbused[i]*it->first)==0&&it->second<k) toa.push_back(make_pair(cbused[i]*it->first,it->second+1));
    					for(int q=0;q<toa.size();q++) anse.insert(toa[q]);
    				}
    			}
    		
    		bool f = false;
    		for(set< pair<int,int> >::iterator it=anse.begin();it!=anse.end();it++){
    			if(it->first==nn&&it->second==k) f=true;
    		}
    		cout<<(f?"YES":"NO")<<"\n";
    		if(t==0) return 0;
    	}
    }

    Задано целое положительное число n. Выясните, может ли оно быть представлено в виде произведения k целых положительных чисел, ни одно из которых не является квадратом целого числа.
    (с яндекс.алгоритма)

    AvadaKedavra, 14 Июля 2013

    Комментарии (14)
  4. JavaScript / Говнокод #13288

    +155

    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
    /* Декодирование параметров
    ===========================================================================*/
    $(document).ready(function () {
        var stext = $("input[name = 'stext'], input[name = 'text']");
    
        function decodeURLParameter(name) {
            if (!!name) return decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]);
        }
    
        if (stext) {
            var urlText = decodeURLParameter('stext');
            if (urlText != undefined && urlText != "" && urlText[0] != '&' && urlText != "null") {
                var sstext = [stext[1], stext[2]];
    
                $(sstext).val(urlText);
            }
        }
    });

    Будучи младшим веб-разработчиком наваял...

    sladkijBubaleh, 02 Июля 2013

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i, j;
    for (i = 0; i < n; i++)
    {
      for (j = 0; j < m; j++)
      {
        A[i, j] = Ain[i, j];
        b[i, 0] = bin[i, 0];
      }
    }

    C ninja style

    fasol8, 12 Июня 2013

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

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private void HideActiveButtons()
    {
        try
        {
    
        }
        catch (Exception)
        {
            throw;
        }
    }

    Откопано в форме Windows Forms в страшном legacy-коде.

    someone, 09 Июня 2013

    Комментарии (14)
  7. PHP / Говнокод #13119

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $currurl = str_replace(" ", '', $this->helper('core/url')->getCurrentUrl());
    if (strpos($currurl, 'index.php/')) {
        $currurl = str_replace('index.php/', '', $currurl);
    } else if (strpos($currurl, '/index.php')) {
        $currurl = str_replace('index.php', '', $currurl);
    }
    $url_suffix = (substr($currurl, strlen(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB))));
    <?php if (strlen($url_suffix) <= 0) : #not homepage ?>
    ...

    Magento. Увидел в template, код одной английской компании.

    crook, 06 Июня 2013

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

    −106

    1. 1
    2. 2
    3. 3
    - (FBURLConnection *)createFBURLConnection {
        return [FBURLConnection alloc];
    }

    Facebook-iOS-SDK
    Code conventions? Never heard about it.
    Всё больше убеждаюсь что в ФБ работают лютые гвоздопилы

    clockworkman, 16 Мая 2013

    Комментарии (14)
  9. Python / Говнокод #12992

    −94

    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
    #/usr/bin/python
    import sys, os, time, httplib
    if sys.platform == 'linux' or sys.platform == 'linux2':
     clearing = 'clear'
    else:
     clearing = 'cls'
     os.system(clearing)
    if len(sys.argv) != 2:
     print "\n|-------------------------------------------------------------|"
     print "|               Admin login finder     v2.0                     |"
     print "| Help: admin-find.py -h                                        |"
     print "|---------------------------------------------------------------|\n"
     sys.exit(1)
    for arg in sys.argv:
     if arg == '-h':
    	print "\n|-----------------------------------------------------------------------------|"
    	print "|                Admin login finder     v2.0                                    |"
    	print "| Usage: admin-find.py www.site.com                                             |"
    	print "| Example: admin-find.py site.com                                               |"
    	print "|-------------------------------------------------------------------------------|\n"
    	sys.exit(1)
    site = sys.argv[1].replace("http://","").rsplit("/",1)[0] 
    site = site.lower()
    admin_path = ['admin.php','admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/','memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php','joomla/administrator','login.php',
    'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html','admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html','admin/controlpanel.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html','w    ebadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html','admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php','administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php','bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','modelsearch/login.php','moderator.php','moderator/login.php','moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',    
    'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html','webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.htm    l','administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','m    odelsearch/login.html','moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpane    l.html','admincontrol.html','panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','adminarea/index.php','adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php','modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php',    'admin2/login.php','admin2/index.php','adm/index.php','adm.php','affiliate.php','adm_auth.php    ','memberadmin.php','administratorlogin.php']
    print "\n|-------------------------------------------------------------|"
    print "|                Admin login finder     v2.0                    |"
    print "|---------------------------------------------------------------|\n"
    print "\n[-] %s" % time.strftime("%X")
    print "[+] Target:",site
    print "[+] Checking paths..."
    print
    try:
     for admin in admin_path:
      admin = admin.replace("\n","")
      admin = "/" + admin
      connection = httplib.HTTPConnection(site)
      connection.request("GET",admin)
      response = connection.getresponse()
      print "%s %s %s" % (admin, response.status, response.reason)
    except(KeyboardInterrupt,SystemExit):
     raise
    except:
     pass

    Оригинал тут:
    http://paste.org.ru/?8l6f57

    lancerok, 13 Мая 2013

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

    +135

    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
    string t = label1.Text;
    char[] bits = t.ToCharArray();
    int a1 = (Convert.ToInt16(bits[0]) - 48) + (Convert.ToInt16(bits[1]) - 48) + (Convert.ToInt16(bits[2]) - 48) + (Convert.ToInt16(bits[3]) - 48) + (Convert.ToInt16(bits[4] - 48));
                    char[] hemming = { '0', '0', bits[0], '0', bits[1], bits[2], bits[3], '0', bits[4] };
                    if (a1 == 1 || a1 == 2 || a1 == 4)
                    {
                        hemming[0] = '0';
                    }
                    else
                    { hemming[0] = '1'; }
                    int a2 = (Convert.ToInt16(hemming[2] - 48) + Convert.ToInt16(hemming[5] - 48) + Convert.ToInt16(hemming[6] - 48));
                    if (a2 == 1 || a2 == 2 || a2 == 4)
                    {
                        hemming[1] = '0';
                    }
                    else
                    { hemming[1] = '1'; }
                    int a3 = (Convert.ToInt16(hemming[4] - 48) + Convert.ToInt16(hemming[5] - 48) + Convert.ToInt16(hemming[6] - 48));
                    if (a3 == 1 || a3 == 2 || a3 == 4)
                    {
                        hemming[3] = '0';
                    }
                    else
                    { hemming[3] = '1'; }
                    if (hemming[7] == '1')
                    {
                        hemming[8] = '1';
                    }
                    else
                    { hemming[8] = '0'; }

    Реализация кода Хемминга (орфография и пунктуация сохранены)

    Psilon, 03 Мая 2013

    Комментарии (14)
  11. PHP / Говнокод #12900

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (count($items) > 100) {
        for ($i = count($items); 100 < count($items); $i--) {
            unset($items[$i-1]);
        }
    }

    Массив должен содержать сто или меньше элементов

    VanSanblch, 16 Апреля 2013

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