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

    В номинации:
    За время:
  2. Си / Говнокод #24350

    −1

    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
    int mysolve (int a, int b, int m) {
    	int n = (int) sqrt (m + .0) + 1;
     
    	int an = 1;
    	for (int i = n, t = a; i;) {
    		if (i & 1) {
    		    an = (an * t) % m;
    		    i -= 1;
    		} else {
    			t = (t * t) % m;
    			i >>= 1;
    		}
            }
     
    	int *vals = (int*) malloc(m * sizeof(int));
    	memset(vals, -1, m * sizeof(int));
     
    	for (int i = 1, cur = an; i <= n; ++i) {
    		if (vals[cur] == -1) vals[cur] = i;
    		cur = (cur * an) % m;
    	} 
     
    	for (int i = 0, cur = b; i <= n; ++i) {
    		if (vals[cur] != -1) {
    			int ans = vals[cur] * n - i;
    			if (ans < m) {
    				free(vals);
    				return ans;
    			}
    		}
    		cur = (cur * a) % m;
    	}
    	free(vals);
    	return -1;
    }

    Чото както тухло тут.
    Вот держите, вспомнил своё олимпиАДное прошлое, перевёл на Сишку и оптимизировал вот этоу хуйнц: https://e-maxx.ru/algo/discrete_log
    Чем больше модуль, ьем боьше жрёт память, дальше оптимизировать лень.

    Мне кажется, что что-то я здесь сделал не так...

    666_N33D135, 02 Июня 2018

    Комментарии (25)
  3. Python / Говнокод #24102

    −2

    1. 1
    2. 2
    3. 3
    editText_url = tk.Entry(root)
    editText_url.bind(SEQ_FOCUS_IN, lambda e: editText_url.delete('0', 'end') if editText_url.get() == url_placeholder else "")
    editText_url.bind(SEQ_FOCUS_OUT, lambda e: editText_url.insert(0, url_placeholder) if len(editText_url.get()) == 0 else "")

    В tkinter нет EditText с плейсхолдером, выкручиваемся как можем!
    А еще в лямбде нельзя использовать if, зато можно тернарный оператор. `else` здесь беесполезен~

    saber-nyan, 10 Апреля 2018

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

    −2

    1. 1
    строкаР.сумма =(-1)*строкаР.сумма;

    "строкаР.сумма" всегда является числом

    naodesu, 30 Марта 2018

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

    +2

    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
    // We have to put a separate function with 'if constexpr' here as Visual Studio
    // produces a false positive warning in a case of RegDstUInt == uint32
    // (shifting uint32 left by 32 is an undefined behavior)
    // See: https://developercommunity.visualstudio.com/content/problem/225040/c4293-false-positive-on-unreacheable-code.html
    static RegDstUInt get_hi_part( RegDstUInt value)
    {
        // Clang-Tidy generates a false positive 'misc-suspicious-semicolon' warning
        // on `if constexpr ()` with template
        // LLVM bug 35824: https://bugs.llvm.org/show_bug.cgi?id=35824
        if constexpr( (sizeof(RegDstUInt) > 4)
            return value >> 32; // NOLINT
    
        // GCC bug 81676 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81676
        // Wrong warning with unused-but-set-parameter within 'if constexpr'
        (void)(value); 
        return 0;
    }

    В попытке починить сборку в Visual Studio поломали GCC и Clang-Tidy.

    pavelmips, 29 Марта 2018

    Комментарии (25)
  6. Куча / Говнокод #23864

    +9

    1. 1
    Argument type mismatch

    Assertion failed

    Exception, 04 Марта 2018

    Комментарии (25)
  7. Си / Говнокод #23709

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <stdio.h>
     
    int main() {
    	double x = 0.11111;
    	printf("%lld\n", x);
     
    	double y = 0.11111;
    	printf("%lld\n", y);
    }

    https://ideone.com/FHKfA6
    УБЭ?

    3_dar, 06 Февраля 2018

    Комментарии (25)
  8. Куча / Говнокод #23664

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    {
      "properties" : {
        "VARIANTS" : "[ \"ORIGINAL\", \"DEMUX_GENERIC_AUDIO\" ]",
      },
    }

    Jdownloader. So we put json in yo json.

    syoma, 22 Января 2018

    Комментарии (25)
  9. JavaScript / Говнокод #23433

    +3

    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
    // http://sobchakprotivvseh.ru/static/js/main_gd.js?v3
    mainSite.mt_rand = function (min, max) { // eslint-disable-line camelcase
      //  discuss at: http://locutus.io/php/mt_rand/
      // original by: Onno Marsman (https://twitter.com/onnomarsman)
      // improved by: Brett Zamir (http://brett-zamir.me)
      //    input by: Kongo
      //   example 1: mt_rand(1, 1)
      //   returns 1: 1
      var argc = arguments.length
      if (argc === 0) {
    	min = 0
    	max = 2147483647
      } else if (argc === 1) {
    	throw new Error('Warning: mt_rand() expects exactly 2 parameters, 1 given')
      } else {
    	min = parseInt(min, 10)
    	max = parseInt(max, 10)
      }
      return Math.floor(Math.random() * (max - min + 1)) + min
    };
    
    /* копипейст минифицированного sprintf.js */

    Вчера самизнаетекто сделала [роскомнадзор], о чем вы и так прекрасно знаете
    О чем вы может быть не знаете, так это то что делавшие сайт студенты помимо слива всей тусовки заливкой данных на сайты других участников тусовочки и использованием общих идентификаторов аналитики еще и не смогли осилить жабаскрипт, поэтому они копипастят порт PHP в JS из ближайшего интернета

    Fike, 19 Октября 2017

    Комментарии (25)
  10. Куча / Говнокод #20952

    +2424

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // Most profiles should run only on one loader (they don't coordinate multiple instances,
    // and do not test performance).
    // We explicitly specify that some profiles should run on multiple loaders:
    singleLoader := true
    switch params.Config.Foo.Profile.Name() {
    case (*foo_config.ProfileIO).Name(nil):
    	singleLoader = false
    }
    
    if singleLoader {
    	// Setting TargetLoaders to a single random loader.
    }

    Вот думаем подарить человеку книжку про судоку, а то творческую натуру негде применить.

    wvxvw, 24 Августа 2016

    Комментарии (25)
  11. Java / Говнокод #20541

    +111

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    @AutoValidated
        public void remove(
                @NotNull PaymentProviderConfiguration paymentProviderConfiguration
        ) {
            paymentProviderConfiguration.setDeleted(true);
            paymentProviderConfiguration.setDisabled(true);
            paymentProviderConfiguration.setEditable(false);
            paymentProviderConfigurationDAO.update(paymentProviderConfiguration);
            context.getHibernate().evict(paymentProviderConfiguration);
            context.getHibernate().flush();
        }

    интересно еще и то, что внутри paymentProviderConfigurationDAO.update(p aymentProviderConfiguration); есть еще один flush

    vorozhtsov, 12 Августа 2016

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