- 1
- 2
- 3
- 4
define('SECOND', 1);
define('MINUTE', SECOND*60);
define('HOUR', MINUTE*60);
// ...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140
define('SECOND', 1);
define('MINUTE', SECOND*60);
define('HOUR', MINUTE*60);
// ...
количество секунд в секунде — это определённо что-то новое.
+124
samples = [(1,14),(2,-66),(3,-414),(4,-1180),(5,-2370),(6,-3726),(7,-4606),(8,-3864),(9,270)]
-- Бесконечная система уравнений для МНК
system s = zip (matrix s) (column s) where
matrix = iterate tail . foldr1 (zipWith (+)) . map (\(x,y) -> iterate (*x) 1)
column = foldr1 (zipWith (+)) . map (\(x,y) -> iterate (*x) y)
-- Сведение бесконечной системы к треугольному виду (первый шаг гаусса)
triangle (eq:eqs) = (eq : triangle (map (sub eq) eqs)) where
sub eq1@(a1:as, ae) eq2@(b1:bs, be) = (zipWith f as bs, f ae be) where
f a b = b - a * b1 / a1
-- Вычисление иксов (второй шаг гаусса)
calcX n = foldr calc [] . take n where
calc (a:as, b) xs = ((b - sum (zipWith (*) as xs)) / a : xs)
-- метод наименьших квадратов
mnk n = reverse . calcX n . triangle . system
Метод наименьших квадратов.
http://ideone.com/CsD0ku
+67
function IntToHex(N: integer): string;
const
S = '0123456789ABCDEF';
var
i: integer;
begin
SetLength(Result, 8);
for i := 0 to 7 do Result[8 - i] := S[N shr (i shl 2) and $0F + 1];
end;
Носки менял, ноги мыл, все равно воняет хаккирством.
И оно почему-то в модуле WinAPI.pas у Тараса лежит о_О
+125
happy_numbers = [ tos (a,b,c,d,e,f a b c d e) | a <- [0..9], b <- [0..9], c <- [0..9], d <- [0..9], e <- [0..9], f a b c d e <= 9, f a b c d e >= 0 ]
where
tos (a,b,c,d,e,f) = show a ++ show b ++ show c ++ show d ++ show e ++ show f
f a b c d e = a + b + c - d - e
main = mapM print $ happy_numbers
+124
data Trivalent = TriFalse | TriUnknown | TriTrue deriving (Show, Eq, Ord)
(&) :: Trivalent -> Trivalent -> Trivalent -- &&
(!) :: Trivalent -> Trivalent -> Trivalent -- ||
nt :: Trivalent -> Trivalent -- not
В хасскеле нет класса для логических значений. А значит хрен переопределишь операторы &&, || и функцию not
+140
int next_id() {
static int id = 0;
__sync_add_and_fetch(&id, 1);
return id;
}
"Атомарная" раздача айдишек.
+131
> Как удалить smoke1 из массива fx
delete fx+2;
http://www.gamedev.ru/code/forum/?id=165389
+55
<?php
/**
* Определение знака зодиака
* автор: Nc_Soft
* 12.01.09
*/
//массив для сравнений
$zodiak=array(
'Oven'=>'Овен',
'Taurus'=>'Телец',
'Gemini'=>'Близнецы',
'Cancer'=>'Рак',
'Leo'=>'Лев',
'Virgo'=>'Дева',
'Libra'=>'Весы',
'Scorpion'=>'Скорпион',
'Sagittarius'=>'Стрелец',
'Capricorn'=>'Козерог',
'Aquarius'=>'Водолей',
'Fish'=>'Рыбы'
);
//функция опеределения
function zodiak($d,$m) {
$d=sprintf('%02d',$d);
$m=sprintf('%02d',$m);
if (($m=='03' AND $d>20) OR ($m=='04' AND $d<21)) return 'Oven';
if (($m=='04' AND $d>20) OR ($m=='05' AND $d<22)) return 'Taurus';
if (($m=='05' AND $d>21) OR ($m=='06' AND $d<22)) return 'Gemini';
if (($m=='06' AND $d>21) OR ($m=='07' AND $d<23)) return 'Cancer';
if (($m=='07' AND $d>22) OR ($m=='08' AND $d<24)) return 'Leo';
if (($m=='08' AND $d>23) OR ($m=='09' AND $d<24)) return 'Virgo';
if (($m=='09' AND $d>23) OR ($m=='10' AND $d<24)) return 'Libra';
if (($m=='10' AND $d>23) OR ($m=='11' AND $d<23)) return 'Scorpion';
if (($m=='11' AND $d>22) OR ($m=='12' AND $d<22)) return 'Sagittarius';
if (($m=='12' AND $d>21) OR ($m=='01' AND $d<19)) return 'Capricorn';
if (($m=='01' AND $d>20) OR ($m=='02' AND $d<19)) return 'Aquarius';
if (($m=='02' AND $d>18) OR ($m=='03' AND $d<21)) return 'Fish';
return null;
}
//тестирование (пример для 3 декабря)
echo $zodiak[zodiak(3,12)]; //Стрелец
?>
−42
#include <iostream>
using namespace std;
int main()
{
for(int i = 0x1; 0x1 <= i; i++)
{
int a = 0x5;
int b = 0xa;
cin >> i;
if(b || a)
{
a += 0x5;
cout << "\n ";
cout << "первое условие: ";
cout << "\n ";
cout << "переменная a = " << a;
cout << "\n ";
cout << "переменная b = " << --b + 0x5 - 0x9;
cout << "\n";
goto var;
}
else
{
var:
cout << "\n ";
cout << "второе условие: ";
a = (0xa - 0x5);
cout << "\n ";
cout << "переменная a = " << a;
cout << "\n ";
cout << "переменная b = " << ++b;
cout << "\n";
}
break;
}
system("pause");
return 0;
}
Попросил чела решить классическую задачку - обменять значениями две переменные, не используя третьей
+108
string result = Encoding.GetEncoding(CharSet).GetString(resultData);
// сам паттерн \[\[\[\"([^"]*)
String commonString = "";
commonString += @"\";
commonString += @"[";
commonString += @"\";
commonString += @"[";
commonString += @"\";
commonString += @"[";
commonString += @"\";
commonString += "\"";
commonString += @"(";
commonString += "[";
commonString += "^";
commonString += "\"";
commonString += @"]";
commonString += @"*";
commonString += @")";
String pattern = commonString;
Regex reg = new Regex(pattern);
var mathces = reg.Match(result);
String stringResult = mathces.ToString().Replace("[[[\"", "");
Сборка паттерна регулярки, скажите как можно такое покороче собрать