- 1
IT Оффтоп #193
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #193
#163: https://govnokod.ru/28501 https://govnokod.xyz/_28501
#164: https://govnokod.ru/28527 https://govnokod.xyz/_28527
#165: https://govnokod.ru/28557 https://govnokod.xyz/_28557
#166: https://govnokod.ru/28574 https://govnokod.xyz/_28574
#167: https://govnokod.ru/28588 https://govnokod.xyz/_28588
#168: https://govnokod.ru/28607 https://govnokod.xyz/_28607
#169: https://govnokod.ru/28628 https://govnokod.xyz/_28628
#170: https://govnokod.ru/28653 https://govnokod.xyz/_28653
#171: (vanished) https://govnokod.xyz/_28665
#172: https://govnokod.ru/28675 https://govnokod.xyz/_28675
#173: https://govnokod.ru/28681 https://govnokod.xyz/_28681
#174: https://govnokod.ru/28689 https://govnokod.xyz/_28689
#175: https://govnokod.ru/28696 https://govnokod.xyz/_28696
#176: https://govnokod.ru/28703 https://govnokod.xyz/_28703
#177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
#178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
#179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
#180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
#181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
#182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
#183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
#184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
#185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
#186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
#187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
#188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
#189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
#190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
#191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
#192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
0
'''
1. Прибавить 1
2. Прибавить 3
3. Прибавить 7
Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 13 результатом является число 31?
Все пары чисел траектории вычислений должны быть взаимно простыми (под парой подразумевается два подряд идущих числа).
Например, из числа 24 командой 2 (+3) нельзя перейти в число 27, потому как оба эти числа делятся на 3.
А из числа 25 можно перейти в 28., т.к. для этих чисел нет общих простых делителей, т.е. числа взаимно простые.
'''
def f(x, y):
if x == 13:
return f(x + 1, y) + f(x + 3, y) + f(x + 7, y)
a = set()
b = set()
c = set()
d = set()
### ВОТ ЭТА ЗАЛУПА ЗАМЕНЯЕТСЯ 1 СТРОЧКОЙ
if x >= y:
return x == y
for i in range(1, x+1):
if x % i == 0:
a.add(i)
for p in range(1, x+1 + 1):
if (x+1) % p == 0:
b.add(p)
for o in range(1, x+1 + 3):
if (x+3) % o == 0:
c.add(o)
for r in range(1, x+1 + 7):
if (x+7) % r == 0:
d.add(r)
if len(a & b) == 1 and (list(a & b))[0] == 1:
if len(a & c) == 1 and (list(a & c))[0] == 1:
if len(a & d) == 1 and (list(a & d))[0] == 1:
return f(x + 1, y) + f(x + 3, y) + f(x + 7, y)
if len(a & b) == 1 and (list(a & b))[0] == 1:
if not(len(a & c) == 1 and (list(a & c))[0] == 1):
if len(a & d) == 1 and (list(a & d))[0] == 1:
return f(x + 1, y) + f(x + 7, y)
if len(a & b) == 1 and (list(a & b))[0] == 1:
if len(a & c) == 1 and (list(a & c))[0] == 1:
if not(len(a & d) == 1 and (list(a & d))[0] == 1):
return f(x + 1, y) + f(x + 3, y)
if not(len(a & b) == 1 and (list(a & b))[0] == 1):
if len(a & c) == 1 and (list(a & c))[0] == 1:
if len(a & d) == 1 and (list(a & d))[0] == 1:
return f(x + 3, y) + f(x + 7, y)
if not(len(a & b) == 1 and (list(a & b))[0] == 1):
if not(len(a & c) == 1 and (list(a & c))[0] == 1):
if len(a & d) == 1 and (list(a & d))[0] == 1:
return f(x + 7, y)
if not(len(a & b) == 1 and (list(a & b))[0] == 1):
if len(a & c) == 1 and (list(a & c))[0] == 1:
if not(len(a & d) == 1 and (list(a & d))[0] == 1):
return f(x + 3, y)
if len(a & b) == 1 and (list(a & b))[0] == 1:
if not(len(a & c) == 1 and (list(a & c))[0] == 1):
if not(len(a & d) == 1 and (list(a & d))[0] == 1):
return f(x + 1, y)
if not(len(a & b) == 1 and (list(a & b))[0] == 1):
if not(len(a & c) == 1 and (list(a & c))[0] == 1):
if not(len(a & d) == 1 and (list(a & d))[0] == 1):
return x
return 0
print(f(13, 31))
Я сын тайской шлюхи
0
Питушня #40
#10: https://govnokod.ru/27045 https://govnokod.xyz/_27045
#11: https://govnokod.ru/27058 https://govnokod.xyz/_27058
#12: https://govnokod.ru/27182 https://govnokod.xyz/_27182
#13: https://govnokod.ru/27260 https://govnokod.xyz/_27260
#14: https://govnokod.ru/27343 https://govnokod.xyz/_27343
#15: https://govnokod.ru/27353 https://govnokod.xyz/_27353
#16: https://govnokod.ru/27384 https://govnokod.xyz/_27384
#17: https://govnokod.ru/27482 https://govnokod.xyz/_27482
#18: https://govnokod.ru/27514 https://govnokod.xyz/_27514
#19: https://govnokod.ru/27620 https://govnokod.xyz/_27620
#20: https://govnokod.ru/27816 https://govnokod.xyz/_27816
#21: https://govnokod.ru/27956 https://govnokod.xyz/_27956
#22: https://govnokod.ru/28143 https://govnokod.xyz/_28143
#23: https://govnokod.ru/28315 https://govnokod.xyz/_28315
#24: (vanished) https://govnokod.xyz/_28362
#25: (vanished) https://govnokod.xyz/_28463
#26: https://govnokod.ru/28481 https://govnokod.xyz/_28481
#27: https://govnokod.ru/28537 https://govnokod.xyz/_28537
#28: https://govnokod.ru/28619 https://govnokod.xyz/_28619
#29: (vanished) https://govnokod.xyz/_28663
#30: https://govnokod.ru/28673 https://govnokod.xyz/_28673
#31: https://govnokod.ru/28679 https://govnokod.xyz/_28679
#32: https://govnokod.ru/28687 https://govnokod.xyz/_28687
#33: https://govnokod.ru/28694 https://govnokod.xyz/_28694
#34: https://govnokod.ru/28701 https://govnokod.xyz/_28701
#35: https://govnokod.ru/28707 https://govnokod.xyz/_28707
#36: https://govnokod.ru/28714 https://govnokod.xyz/_28714
#37: https://govnokod.ru/28724 https://govnokod.xyz/_28724
#38: https://govnokod.ru/28732 https://govnokod.xyz/_28732
#39: https://govnokod.ru/28839 https://govnokod.xyz/_28839
0
int main(int Argcina, char** Argvina) {
int tse_odna_strana_dlya_vseh = (char**)Argcina - Argvina;
return 0;
}
0
<?php
$domains = [
'edge-star-shv-%s-%s.facebook.com', /* edge-chat.facebook.com, graph.facebook.com, mbasic.facebook.com, touch.facebook.com */
'instagram-p42-shv-%s-%s.fbcdn.net', /* www.instagram.com, b.i.instagram.com */
'edge-sonar-mini-shv-%s-%s.fbcdn.net', /* не знаю, для чего нужны edge-sonar-mini */
'edge-star-mini-shv-%s-%s.facebook.com', /* www.facebook.com, m.facebook.com, fb.com */
'instagram-p3-shv-%s-%s.fbcdn.net', /* api.instagram.com, i.instagram.com, l.instagram.com, graph.instagram.com, edge-chat.instagram.com, */
/* static.cdninstagram.com, scontent-hel3-1.cdninstagram.com, scontent.cdninstagram.com, */
/* threads.net, www.threads.net */
'xx-fbcdn-shv-%s-%s.fbcdn.net', /* scontent-hel3-1.xx.fbcdn.net, static.xx.fbcdn.net, connect.facebook.net, scontent.xx.fbcdn.net */
'edge-dgw-shv-%s-%s.facebook.com' /* gateway.facebook.com, gateway.instagram.com, gateway.threads.net */
];
$suffices = explode(',', 'akl1,ams2,ams4,arn2,atl3,bcn1,bkk1,bog1,bog2,bom1,bom2,bos5,bru2,ccu1,cdg4,cgk1,cph2,cpt1,del1,del2,den2,den4,dfw5,dub4,dus1,eze1,fco2,for1,fra3,fra5,gig4,gru1,gru2,ham3,hel3,hkg1,hkg4,hou1,hyd1,iad3,jnb1,jnb2,kul2,kul3,lax3,lga3,lhr6,lhr8,lim1,lis1,los2,maa2,mad1,mad2,man2,mct1,mia3,mnl1,mrs2,msp1,muc2,mxp1,mxp2,nrt1,ord5,otp1,pmo1,pnq1,prg1,qro1,scl2,sea1,sin6,sjc3,sof1,syd2,tpe1,vie1,waw1,xsp1,zrh1');
foreach ($domains as $domain) {
foreach (['01','02','03','04'] as $index) {
foreach ($suffices as $suffix) {
$url = sprintf($domain, $index, $suffix);
$raw = gethostbynamel($url);
if(!is_array($raw)) continue;
$ips = implode(',', $raw);
echo $ips,' ', $url, PHP_EOL;
}
}
}
Получение списка IP-адресов, используемых сервисами Ф*к, И*м и Threads.
0
for I=0 to MAXINT do
GlobalAddAtom(I);
..После чего наблюдаем за поведением системы.
0
Новогодний оффтоп #4
░░░░░░░░░░░░░░░░░▐▌░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▀████▀░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▄█▀▀█▄░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░▄▄░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▄████▄░░░░░░░░░░░░░░░
░░░░░░░░░░░▄▄██╬██╬████▄▄░░░░░░░░░░░
░░░░░░░░▀███████╬███╬██████▀░░░░░░░░
░░░░░░░░░░▄▄█╬████╬█████▄▄░░░░░░░░░░
░░░░▄▄▄▄██╬████╬█████╬███╬██▄▄▄▄░░░░
░░░░░░▀▀████╬█████╬█████████▀▀░░░░░░
░░░░░░░░░▄█████╬██████╬███▄░░░░░░░░░
░░▄▄▄▄██████╬█████╬███████╬███▄▄▄▄░░
░░▀▀▀████╬█████╬████╬███╬██████▀▀▀░░
░░░░░░░░████╬████████╬██████░░░░░░░░
░░▄▄▄█████╬██████╬█████╬███╬███▄▄▄░░
▀▀▀████╬█████╬█████╬████╬███╬████▀▀▀
░░░░░░▀▀▀██████████████████▀▀▀░░░░░░
░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░
#1: https://govnokod.ru/27188 https://govnokod.xyz/_27188
#2: https://govnokod.ru/27893 https://govnokod.xyz/_27893
#2: https://govnokod.ru/28484 https://govnokod.xyz/_28484
0
switch (lol) {
case E::Foo:
return 1;
case E::Bar:
default:
return 0;
case E::Baz:
return 2;
}
Вы знали, что так можно?
Надо запустить пиваса.
+2
// В преддверии нового года на сайте PVS-Studio увеличилось количества C++ говнокода.
// Во-первых, вышла подбора багов за год, а во-вторых, квиз на поиск багов.
// Первый пример кода из квиза для разминки:
void UObject::setDeltaPitch(const UMatrix &gizmo) {
....
if (_fpzero(amount, eps))
return
rotateAccum.setAnglesXYZ(axis);
....
}
Если заинтересовались, то приятного чтения и удачи в поисках говнокодистых багов. Вас ждёт говнокод первого сорта.
Топ 10 ошибок в C и С++ проектах в 2023 году - https://pvs-studio.ru/ru/blog/posts/cpp/1092/
С++ квиз от PVS-Studio и Сергея Кушниренко - https://pvs-studio.ru/ru/blog/quest/kushnirenko_quiz/
А если что-то останется непонятным в квизе, то есть его разбор - https://pvs-studio.ru/ru/blog/posts/cpp/1091/
С наступающим НГ!
0
@JvmInline
value class Code(val value: Short) {
companion object {
fun from(value: Number): CurrencyCode {
checkValid(value)
return CurrencyCode(value.toShort())
}
private fun checkValid(value: Number) {
val targetValue = value.toDouble()
val isValueInvalid = floor(targetValue) != targetValue
|| targetValue < 0
|| targetValue > Short.MAX_VALUE
if (isValueInvalid) {
throw DomainRuleViolationException(
"Code must be of 'short' type, greater than 0 and lower than ${Short.MAX_VALUE}. Provided: [$value]"
)
}
}
}
init {
checkValid(value)
}
}
Валидация данных приходящих в контроллер. При этом в проекте существует Эксепшнхендлер на неверный инпут от пользователя, который отлично работает еще во время десерелизации запроса.