- 1
- 2
$haystack
$needle
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−6
$haystack
$needle
Что за тупые названия аргументов?
−1
/**
* 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/
+3
Почему Application стал так часто падать???
А ещё csrf eггог-и nocTo9lHHo
−2
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.
0
Ну и полный пример:
#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;
}
}
Многопоточное говно
Гуглояндексится.
+3
#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−2
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);
}
}
}
на закрывающие скобки не хватило места. код из моего еще не дописанного мода на майнкрафт.
−3
Зачем нужен "z == int(str(z)[::-1])", если есть "int(str(z)[:len(str(z))//2]) == int(str(z)[int((len(str(z))+1)//2):][::-1])"?
−2
return coroutine.create(function(x)
while true do
socket.sleep(1);
collectgarbage()
coroutine.yield()
end
end)
Выделил сборщик мусора в отдельный поток, и чтоб он вечно собирал за мной всякую срань, но раз в секунду.
Ожидание: Поток спит в течении 1 секунды.
Реальность: Вся программа спит в течении 1 секунды.
−4
stack = []
def stdout(x):
if x == "puts":
print(stack.pop())
else:
raise Exception("иди нахуй")
def stdin(x):
global stack
if x == "gets":
stack.append(input())
else:
raise Exception("иди нахуй")
math = {
"add": lambda: stack.append(float(stack.pop()) + float(stack.pop())),
"sub": lambda: stack.append((-float(stack.pop())) + float(stack.pop())),
"mul": lambda: stack.append(float(stack.pop()) * float(stack.pop())),
"div": lambda: stack.append(1 / float(stack.pop()) * float(stack.pop())),
}
def stack_commands(x):
global stack
if x == "swap":
stack[-1], stack[-2] = stack[-2:]
elif x == "drop":
stack.pop()
elif x == "dup":
stack.append(stack[-1])
else:
raise Exception("иди нахуй")
string = {
"concat": lambda: stack.append(str(stack.pop()) + str(stack.pop()))
}
commands = {
"comment": lambda x: x,
"push": lambda x: stack.append(x),
"stdout": stdout,
"stdin": stdin,
"math": lambda x: print(math[x]()),
"stack": stack_commands,
"string": lambda x: string[x]()
}
def do(x):
if '@' not in x:
raise Exception(x + " is not email.")
a, b = x.split('@')
b = b.split('.')[0]
commands[b](a)
def eval(s):
for i in s.lower().split():
do(i)
eval("""
[email protected]
[email protected] [email protected]
[email protected]
[email protected] [email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected] [email protected] [email protected]
""")