1. Python / Говнокод #24687

    −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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    def printlen(x):
        print(len(x))
    
    def argslist(x):
        return list(x.args)
    
    def add(value_error, arg):
        raise Exception(*value_error, *arg)
    
    def fibonacci(a, b, x):
        try:
            assert b<x
            printlen(b)
            try:
                add(a,b)
            except Exception as e:
                fibonacci(argslist(e), a, x)
        except AssertionError as e:
            print(e)
    
    threshold = 1000
    fibonacci([[]],[[]],[[]]*threshold)

    Выводит числа Фибоначчи от 1 до threshold.
    Если убрать строку "assert b<x", то python.exe займёт всю оперативку, потому что зачем лимит вложенности исключений?

    tungmetla, 30 Августа 2018

    Комментарии (8)
  2. PHP / Говнокод #24686

    −6

    1. 1
    2. 2
    $haystack
    $needle

    Что за тупые названия аргументов?

    guestinxo, 30 Августа 2018

    Комментарии (13)
  3. PHP / Говнокод #24685

    −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
    /**
     * Class Iin
     * @package App\Classes\Support
     *
     * Класс проверки иин для казахстана
     *
     * ИИН содержит 12 цифр из которых
     * первые 6 цифр - дата рождения [гг-мм-дд]
     * 7-я цифра - пол и век (нечетные цифры - муж, четные женский)
     *      1,2 - 19 век
     *      3,4 - 20 век
     *      5,6 - 21 век
     *      7,8,9,0 - зарезирвированны на будущее
     * 8 - 11 регистрационный гос номер
     * и 12 - контрольный разряд
     *
     * Иин проверяесться по контрольной сумме через две последовательности
     * Сперва каждая цифра иин, кроме последней умножается на цифру из 1-й последовательности и суммируется
     * Результат делиться на 11 и если он от 0 до 9 и соотвествует 12-й цифре иин то иин верен,
     * если результат 0 - иин не верен, если результат 10 - то проверка продолжается по второй последовательности
     * Если результат проверки по всторой последовательности от 1 до 9 и равен 12-й цифре иин - то иин верен иначе проверка
     * заканчивается и иин не верный.
     *
     * UPD - Хьюстон у нас проблемы - некоторые безответственные работники цонов делают неверные иин с 7,8 и 9 цифрой для 22 и 23 века.
     * В итоге люди для системы как из 23 века а сами из 21 или 20 - так что пока не настал 22 и 23 век их разряды будут для 20 века.
     * Не люблю костыли но работники цонов такие работники - а менеджеры и клиенты недовольны, так что придеться
     *

    https://habr.com/company/ua-hosting/blog/420091/

    guestinxo, 29 Августа 2018

    Комментарии (1)
  4. Куча / Говнокод #24684

    +3

    1. 1
    Почему Application стал так часто падать???

    А ещё csrf eггог-и nocTo9lHHo

    kir_rik, 29 Августа 2018

    Комментарии (38)
  5. Python / Говнокод #24683

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    def spam(low, up):
        for eggs in range(low, up+1):
            if str(eggs) in str(eggs**2):
                print(str(eggs) + " is in " + str(eggs**2) + ".")

    Проверяет, есть ли стринг числа n в стринге числа n**2.

    shite, 29 Августа 2018

    Комментарии (12)
  6. Си / Говнокод #24681

    0

    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
    Ну и полный пример:
    
    #include "stdafx.h"
    #include "windows.h"
    #include "iostream.h"
    #include "process.h"			// специально для потока
    
    void  fThredFunct1(void* pv);		// декларация функции потока
    __declspec(thread) DWORD dwTlsIndex;		// локальная статическая функция для потока
    
    void main()
    {
    
    	ULONG hThread1 = 0;		// Идентификатор потока 1
    	ULONG hThread2 = 0;		// Идентификатор потока 2
    	//unsigned long _beginthread( void( __cdecl *start_address )( void * ),
    	//			unsigned stack_size, void *arglist );
    	hThread1 = _beginthread(fThredFunct1,0,NULL);	// создали первый поток
    	if (hThread1==-1)
    		cout << "Error create thread" << endl; 
    	hThread2 = _beginthread(fThredFunct1,0,NULL);	// создали второй поток
    	if (hThread1==-2)
    		cout << "Error create thread" << endl; 
    	Sleep(2000);				// ждем 
    }
    
    void fThredFunct1(void* pv)			// реализация функции потока
    {
    	dwTlsIndex=TlsAlloc();		// Запросить индекс
    	if (dwTlsIndex==-1)		// проверить на ошибку
    	{
    		cout << "Error TlsAlloc " << endl;
    		return;
    	}
    	cout << dwTlsIndex << endl;
    	Sleep(1000);
    
    	if ( TlsFree( dwTlsIndex)==0 )	// освободить индекс
    	{
    		cout << "Error TlsFree" << endl;
    		return;
    	}
    }

    Многопоточное говно
    Гуглояндексится.

    kir_rik, 29 Августа 2018

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <set>
    #include <algorithm>
    
    bool overlap(const std::set<int>& s1, const std::set<int>& s2)
    {
        for( const auto& i : s1) {
            if(std::binary_search(s2.begin(), s2.end(), i))
                return true;
        }
        return false;
    }

    я зделял

    https://stackoverflow.com/a/29421606/1683138
    -- https://en.cppreference.com/w/cpp/container/set
    iterator Constant BidirectionalIterator

    roman-kashitsyn, 28 Августа 2018

    Комментарии (69)
  8. Java / Говнокод #24679

    −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
    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
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    public void pullToDirection(ForgeDirection dir) {
    		if (!canPullToDirection(dir))
    			return;
    		if (parentChunk.world.world.get().getBlockId(pipePosition.x + dir.offsetX, pipePosition.y + dir.offsetY,
    				pipePosition.z + dir.offsetZ) == AquaPipes.pipe.blockID) {
    			TransferPipeItem item = items.iterator().next();
    			if (item.isEmpty()) {
    				items.remove(item);
    				if (items.isEmpty()) {
    					parentChunk.pendingPipeStatesToRemove.add(this);
    					parentChunk.updateDataForAllObservers(this);
    				}
    				return;
    			}
    			items.remove(item);
    			if (items.isEmpty()) {
    				parentChunk.pendingPipeStatesToRemove.add(this);
    				parentChunk.updateDataForAllObservers(this);
    			}
    			parentChunk.world.pushToPipe(pipePosition.x + dir.offsetX, pipePosition.y + dir.offsetY,
    					pipePosition.z + dir.offsetZ, item.getStack());
    			return;
    		} else {
    			TileEntity te = parentChunk.world.world.get().getBlockTileEntity(pipePosition.x + dir.offsetX,
    					pipePosition.y + dir.offsetY, pipePosition.z + dir.offsetZ);
    			if (te != null) {
    				if (te instanceof ISidedInventory) {
    					TransferPipeItem item = items.iterator().next();
    					if (item.isEmpty()) {
    						items.remove(item);
    						if (items.isEmpty()) {
    							parentChunk.pendingPipeStatesToRemove.add(this);
    							parentChunk.updateDataForAllObservers(this);
    						}
    						return;
    					}
    					ISidedInventory inv = (ISidedInventory) te;
    					int[] slots = inv.getAccessibleSlotsFromSide(ForgeDirection.OPPOSITES[dir.ordinal()]);
    					for (int slot : slots) {
    						if (inv.canInsertItem(slot, item.getStack(), ForgeDirection.OPPOSITES[dir.ordinal()])
    								&& inv.isStackValidForSlot(slot, item.getStack())
    								&& (inv.getStackInSlot(slot) == null
    										|| (inv.getStackInSlot(slot).itemID == item.getStack().itemID
    												&& inv.getStackInSlot(slot).getItemDamage() == inv
    														.getStackInSlot(slot)
    														.getItemDamage()
    												&& inv.getStackInSlot(slot).stackSize < inv.getInventoryStackLimit()
    												&& inv.getStackInSlot(slot).stackSize < inv
    														.getStackInSlot(slot)
    														.getMaxStackSize()
    												&& ItemStack.areItemStackTagsEqual(inv.getStackInSlot(slot),
    														item.getStack())))) {
    							item.getStack().stackSize--;
    							inv.getStackInSlot(slot).stackSize++;
    							inv.onInventoryChanged();
    							if (item.isEmpty()) {
    								items.remove(item);
    								if (items.isEmpty()) {
    									parentChunk.pendingPipeStatesToRemove.add(this);
    									parentChunk.updateDataForAllObservers(this);
    								}
    							}
    						}
    					}
    				} else if (te instanceof IInventory) {
    					TransferPipeItem item = items.iterator().next();
    					if (item.isEmpty()) {
    						items.remove(item);
    						if (items.isEmpty()) {
    							parentChunk.pendingPipeStatesToRemove.add(this);
    							parentChunk.updateDataForAllObservers(this);
    						}
    						return;
    					}
    					IInventory inv = (IInventory) te;
    					for(int slot = 0; slot < inv.getSizeInventory(); slot++) {
    						if (inv.isStackValidForSlot(slot, item.getStack())
    								&& (inv.getStackInSlot(slot) == null
    										|| (inv.getStackInSlot(slot).itemID == item.getStack().itemID
    												&& inv.getStackInSlot(slot).getItemDamage() == inv
    														.getStackInSlot(slot)
    														.getItemDamage()
    												&& inv.getStackInSlot(slot).stackSize < inv.getInventoryStackLimit()
    												&& inv.getStackInSlot(slot).stackSize < inv
    														.getStackInSlot(slot)
    														.getMaxStackSize()
    												&& ItemStack.areItemStackTagsEqual(inv.getStackInSlot(slot),
    														item.getStack())))) {
    							item.getStack().stackSize--;
    							inv.getStackInSlot(slot).stackSize++;
    							inv.onInventoryChanged();
    							if (item.isEmpty()) {
    								items.remove(item);
    								if (items.isEmpty()) {
    									parentChunk.pendingPipeStatesToRemove.add(this);
    									parentChunk.updateDataForAllObservers(this);
    								}
    							}
    						}

    на закрывающие скобки не хватило места. код из моего еще не дописанного мода на майнкрафт.

    UsernameAK, 28 Августа 2018

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

    −3

    1. 1
    Зачем нужен "z == int(str(z)[::-1])", если есть "int(str(z)[:len(str(z))//2]) == int(str(z)[int((len(str(z))+1)//2):][::-1])"?

    shite, 28 Августа 2018

    Комментарии (7)
  10. Lua / Говнокод #24660

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    return coroutine.create(function(x) 
        while true do
          socket.sleep(1);
          collectgarbage() 
          coroutine.yield() 
        end 
      end)

    Выделил сборщик мусора в отдельный поток, и чтоб он вечно собирал за мной всякую срань, но раз в секунду.
    Ожидание: Поток спит в течении 1 секунды.
    Реальность: Вся программа спит в течении 1 секунды.

    3oJIoTou_xyu, 26 Августа 2018

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