- 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
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(){
setbuf(stdout,NULL); //disable output buffering
char *str=malloc(8);
strcpy(str,"abcdefgh");
str=realloc(str,strlen(str)+8);
strcat(str,"efghefgh"); //sprintf(str,"%s%s",str,"efghefgh");
int imax=1024/strlen(str)*1024*4;
printf("%s","exec.tm.sec\tstr.length\n"); //fflush(stdout);
time_t starttime=time(NULL);
char *gstr=malloc(0);
int i=0;
char *pos;
int lngth;
char *pos_c=gstr;
int str_len=strlen(str);
while(i++ < imax+1000){
lngth=strlen(str)*i;
gstr=realloc(gstr,lngth+str_len);
strcat(gstr,str); //sprintf(gstr,"%s%s",gstr,str);
pos_c+=str_len;
pos=gstr;
while(pos=strstr(pos,"efgh")){
memcpy(pos,"____",4);
}
if(lngth % (1024*256)==0){
printf("%dsec\t\t%dkb\n",time(NULL)-starttime,lngth/1024); //fflush(stdout);
}
}
//printf("%s\n",gstr);
}
http://raid6.com.au/~onlyjob/posts/arena/ - банальый пример бенчмарков всяких недоЯП. Это новый топ10 шедевр на этот месяц.
Именно про такие бенчи кукарекают питушки, когда ссылаются на какие-то бенчи - самое смешно в этом то, что %подставить имя ЯП% сравнивать с сишкой бесполезно, ибо их стдлиб написана на Си и дрёглает либц. Т.е. сравнивая стдлиб разных ЯП - вы сравниваете сишные реализации и оверхеды самих ЯП.
anonimb84a2f6fd141 11.07.2013 20:37 # −3
guest 13.07.2013 01:39 # −5
anonimb84a2f6fd141 11.07.2013 20:37 # −3
inkanus-gray 11.07.2013 21:11 # +1
Lure Of Chaos 11.07.2013 21:15 # −1
superhackkiller1997 11.07.2013 21:34 # 0
И в жаве, и в пхп, и в руби, и в сишарпе, и в плюсах и в перле и в питоне.
inkanus-gray 11.07.2013 21:53 # +1
superhackkiller1997 11.07.2013 21:58 # −1
Форт написан на сишке, это как сишный препроцессор. В нём тупо нет стдлиб, а код гинерится гинератором на сишке. Мы говорим про софтварные реализации.
Поэтому в 100% случаев ты мериешь не производительность своего языка - а качество написания на сишке стдлиба и оверхеда твоего ЯП. Смысла сравнивать это с сишкой нет, ибо сишка в любом случае либо в хлам уделает, либо даст такой же перфоманс(шанс на это предельно мал). Ты согласен?
roman-kashitsyn 11.07.2013 22:02 # 0
superhackkiller1997 11.07.2013 22:06 # −1
Обычно язык мериют именно производительность конструкций, вкоторых не учавствует стдлиб - тогда уже мы получаем реальный перфоманс ЯП, а не скорость вызовов сишного кода, который к ЯП никакого отношения не имеет.
Работает это лишь потому, что на этих ЯП выполняют примитивные операции - аля парсинг строк и код 95% выполняет Сишный уровень. Чем сложнее проект - тем больше в программе времени занимает исполнение твоего кода - и тут уже проявляется реальная производительность ЯП.
Надо понять, что это совершенно разные вещи, который лишь в паре областей пересекаются из-за способов юза ЯП.
inkanus-gray 11.07.2013 22:08 # +1
Остаются языки, у которых есть свой кодогенератор. Я допускаю, что они могут проиграть gcc, потому что у них может не оказаться такого понтового оптимизатора, но для уверенности нужно сравнить.
bormand 11.07.2013 21:12 # +2
Что-за питушня. Где эффективный царский аллокатор? С такими методами твой код сольет сраной жабе с ее StringBuilder'ом.
inkanus-gray 11.07.2013 21:15 # 0
Lure Of Chaos 11.07.2013 21:16 # 0
а чем он ТАК плох?
bormand 11.07.2013 21:19 # 0
Она а не он. StringBuilder тут наоборот выставляется в хорошем свете, в противовес realloc'у. А жаба с точки зрения Царя - говно для заедушных анскилябр.
Lure Of Chaos 11.07.2013 21:25 # 0
хотя бы за
int a[]=new int[1]; a[0]=0;
List b=new Vector();b.add(0);
ну вы поняли.
bormand 11.07.2013 21:27 # 0
Да уж, ref бы ей точно не повредил, а то эти массивы из 1 элемента абузят для выходных параметров ;)
Lure Of Chaos 11.07.2013 21:31 # 0
вон в сирешетке же можно писать что-то вроде this.eventListener+=new MyListener(); а в жабе надо обязательно this.addEventListener(new MyEventListener()); и никак иначе
bormand 11.07.2013 21:32 # 0
Lure Of Chaos 11.07.2013 21:35 # +3
anonimb84a2f6fd141 11.07.2013 21:36 # 0
anonimb84a2f6fd141 11.07.2013 21:37 # 0
bormand 11.07.2013 21:56 # 0
bormand 11.07.2013 21:36 # +1
Lure Of Chaos 11.07.2013 21:38 # 0
bormand 11.07.2013 21:42 # 0
anonimb84a2f6fd141 11.07.2013 21:44 # 0
anonimb84a2f6fd141 11.07.2013 21:36 # 0
anonimb84a2f6fd141 12.07.2013 20:11 # 0
anonimb84a2f6fd141 11.07.2013 21:28 # 0
superhackkiller1997 11.07.2013 21:21 # −2
http://pastebin.com/ikhQrbvJ - царский вариант, который я сваял на коленке. Я даже его не оптимизировал. Я тут даже в вектор-стайле питух-реалок заюзал, чтобы питушки на 32битных питухах и включенным оверкоммитом не кукарекали на мои маллоки на 100гигобайт.
bormand 11.07.2013 21:23 # 0
А жаба сливает прежде всего из-за gstr += str. Эта питушня ей сборщик мусора с резьбы срывает.
anonimb84a2f6fd141 11.07.2013 21:29 # 0
superhackkiller1997 11.07.2013 21:31 # −2
anonimb84a2f6fd141 11.07.2013 21:37 # 0
superhackkiller1997 11.07.2013 21:42 # −2
Правда это константу никто не учитывает, для сишки она может быть 100тактов, а для жавы 100кк, но кого это волнует.
anonimb84a2f6fd141 11.07.2013 21:45 # 0
bormand 11.07.2013 21:47 # 0
anonimb84a2f6fd141 12.07.2013 03:31 # 0
superhackkiller1997 12.07.2013 04:43 # −3
Вот тебе пример, банальный пример. Братуха запускает этот код у себя на хасвеле - и бам - он в 5раз медленее, чем у меня на коре2. В чём же проблема? Отгадай?
В глибц есть 2 реализации strstr() - одна на memchr() - а он через sse2, другая на sse4.2. Вторая работает быстрее первой на много, если строка нормальная.
В данной задаче строка даже не влезает полностью в sse-регист, никакого выравнивания нет и прочего. Поэтому на этой маленькой строчке в 10байт, первый вариант ищет в овер3раза быстрее, чем 2-й.
Почему так происходит? Ибо это писали такие же питухи, которые не понимают для чего нужна strstr(), как она работает - и получают говно.
superhackkiller1997 11.07.2013 21:51 # −3
Этот коэффициент, питушок, важен в любых близких классах. Так же, важно самое n. Поэтому норальные пацаны берут константное n, берут константный коэффициент - и считают. А питухи кукарекают про O(n^2).
95% нормальных алгоритмов в вашей питу-теоретике - есть близкие классы, а все ваши питушарские аргументы работают только на брутфорс-сортировке и n ~= inf.
В этом ваша бида, ибо сам результат функции - это самое легкоподсчитываемое и примитивное значение, а вот n и коэффициент посчитать питухам не дано, поэто онатация говно.
anonimb84a2f6fd141 12.07.2013 03:32 # +1
superhackkiller1997 12.07.2013 04:34 # −3
anonimb84a2f6fd141 12.07.2013 20:12 # +1
inho 19.02.2018 12:03 # 0
вот O(lg(n)) и O(ln(n)) складывать можно
g0_1494089131830 19.02.2018 23:39 # 0
bormand 11.07.2013 21:45 # +2
Волнует тех, кто доучил теорию сложности до конца, а не только до O(n)... В том же gmp, к примеру, некоторые извратные алгоритмы умножения включаются, емнип, в районе 1000-2000 знаков, т.к. только тогда они перебивают более простые. Т.е. кому надо - тот учитывает.
superhackkiller1997 11.07.2013 21:52 # −3
bormand 11.07.2013 22:35 # 0
anonimb84a2f6fd141 12.07.2013 03:34 # 0
superhackkiller1997 12.07.2013 04:31 # −3
Реальный же человек сводит истинное, глубинное понимание к примитивным абстракциям. А ты, животное, пытаешься им доказать, что телевизор - это твоей пульт. Пытаясь свести разницу в каналах к "еденичке и двоечке" на кнопочках.
superhackkiller1997 11.07.2013 22:00 # −1
Наверное надо приводить примеры как ты.
anonimb84a2f6fd141 12.07.2013 03:33 # 0
superhackkiller1997 12.07.2013 04:34 # −3
Вы бесполезные питушки, которые пользуются тем, что пилят вменяемые люди. И вместо того, чтобы благодарить их, что вы, бездари, можете за их счёт нихрена не делать и не думать - вы кукарекаете.
anonimb84a2f6fd141 12.07.2013 20:13 # +1
superhackkiller1997 12.07.2013 21:21 # −3
anonimb84a2f6fd141 13.07.2013 00:23 # +1
> кукарекушка
Говорит тебе, хуй изо рта вынь, а то кукареку да кукареку вместо человеческой речи выходит.
Итак, повторю вопросы: Где используется gmp, кроме modexp в криптографии с открытым ключом? Нахрена он мне сдался?
superhackkiller1997 13.07.2013 00:28 # −1
Оптимизации чисел в конпеляторе - без гмп код 10/3 у тебявыполнялся бы в 20раз медленнее.
Ты обычный питух, который несёт херню, не понимания чиго он несёт вообще.
Да, конкретно тебе для накидывания кнопочек на формачку это не нужно, но анскильная питушара, которая бесполезна в этом мире.
anonimb84a2f6fd141 13.07.2013 01:33 # +3
И далеко не везде используется gmp вообще, в яве свой код.
>Оптимизации чисел в конпеляторе - без гмп код 10/3 у тебявыполнялся бы в 20раз медленнее.
Для деления двух чисел используется gmp?
>бесполезна в этом мире.
Царь, бесполезны в этом мире люди, которые забивают гвозди микроскопом. Которые решают прикладные задачи языками для системного программирования без стандартной библиотеки. Если еще не понял - речь о тебе. А теперь поднялся и побежал нахуй, пидорва.
Lure Of Chaos 11.07.2013 21:26 # 0
guest 13.07.2013 01:45 # −5
guest 13.07.2013 01:46 # −5
guest 13.07.2013 01:57 # −5
bormand 11.07.2013 21:13 # 0
Это что еще за питушня? Где кастомный Царский аллокатор, оптимизированный под эту ситуацию? Даже сраная жаба с ее StringBuilder'ом будет работать быстрее...
inkanus-gray 11.07.2013 21:16 # +1
bormand 11.07.2013 21:17 # +1
Lure Of Chaos 11.07.2013 21:19 # +1
inkanus-gray 11.07.2013 21:20 # +1
bormand 11.07.2013 21:20 # +2
superhackkiller1997 11.07.2013 21:26 # +1
bormand 11.07.2013 21:34 # −1
superhackkiller1997 11.07.2013 21:36 # −3
inkanus-gray 11.07.2013 21:50 # 0
bormand 11.07.2013 22:00 # 0
superhackkiller1997 11.07.2013 22:02 # −1
Т.е. у него максимум мог падать фри на значениях больше 24бит, но тупо падть как он описал - она не может.
bormand 11.07.2013 22:15 # 0
На 32-битке при выравнивании 8, и на 64-битке при выравании на 16 - не крашнется, т.к. за выделенным блоком будут торчать 4/8 байт, подравнивающие следующий блок.
P.S. Ну или у него какая-нибудь херня для защиты кучи включена. В вижуалке вроде было нечто подобное.
superhackkiller1997 11.07.2013 22:24 # 0
inkanus-gray 11.07.2013 22:45 # 0
Ну и для сравнения нестандартные компиляторы. В питушиной Watcom C программа работает (после адаптации исходника: он требует, чтобы переменные объявлялись только в начале блоков). Борман С и ненавистная вижуалка валятся сразу (они, кстати, требуют такой же адаптации а-ля Алгол).
superhackkiller1997 11.07.2013 22:58 # +1
И покажи нам выхлоп, не должно поидее такого быть.
inkanus-gray 11.07.2013 23:06 # 0
00292FB0
00292FD0
Разница 32.
А если вывод перенаправить в файл, то почему-то выдаёт чушь типа
003C2FC8
003C0E70
Т. е. второй указатель меньше первого и выравнивание хромает.
superhackkiller1997 11.07.2013 23:18 # 0
Тут скорее всего 16байтный блок и 8байтное выравнивание, поэтому странно, что оно крашится. Сделай fprintf(stdout, "%lx\n%lx\n", *((uint64_t *)p1 - 1), *((uint64_t *)p1 - 2)); Первая строчка должна быть не нулевой.
bormand 11.07.2013 23:07 # 0
inkanus-gray 11.07.2013 23:26 # 0
Тогда *p1 = 00342fd0 (т . е. замусорено адресом следующего блока),
*(p1 + 1) = 003400c4
*(p1 + 2) = 27debca7
*(p1 - 1) = 0f00a9aa
*(p1 - 2) = 27debca7
P.S. А в Ideone все нули, кроме *(p1 - 1) = 00000011.
inkanus-gray 11.07.2013 23:40 # 0
*(p1 + 1) — указатель на первый блок кучи(?),
*(p1 + 2) == *(p1 - 2) — какая-то сигнатура (контрольная сумма?),
*(p1 - 1) — что то хитрое, но непосредственно перед блоком идут байты 00, 0f.
superhackkiller1997 12.07.2013 02:22 # +1
Поэтому твои p1+n - это твоя память, доступная тебе.
8байт до твоего указателя - это служебная инфа, поидее там должен быть какой-то инод, но как там запиленно - я уже не помню, да и мне лень даже глядеть код этой питушни.
Возможно это длинна куска, который выделил тебе маллок, либо ит о и другое.
Если там у тебя реально 7нулей и 0f, то это длинна твоего блока в байтах - поменяй 2-й аргумент маллока на 32, 48, 64 байта - погляди.
inkanus-gray 12.07.2013 13:17 # +1
Оказывается, что в разных реализациях всё по-разному. В Ideone перед блоком в 32-битном числе хранится его размер, перед размером 32-битное число, равное нулю, а дальше сканировать память Ideone не позволяет — срабатывает защита.
В mingw же перед блоком 16-битное (да!) число хранит не размер блока, а (вероятно) количество неиспользуемых байтов до следующего выравнивания. Перед этим числом 6 байт хранят неопознанную информацию (вероятно для защиты), а перед ними 4 нулевых байта.
bormand 12.07.2013 13:30 # 0
> дальше сканировать память Ideone не позволяет — срабатывает защита
Вылезаешь за начало кучи ;)
bormand 12.07.2013 05:17 # +1
Ну походу действительно защита стека.
superhackkiller1997 11.07.2013 23:36 # 0
guest 11.07.2013 23:20 # 0
anonimb84a2f6fd141 12.07.2013 03:25 # 0
guest 12.07.2013 22:33 # +2
0chan.hk/c/ , где с - царь
guest 12.07.2013 22:34 # +1
Lure Of Chaos 13.07.2013 00:03 # 0
будуар obvious fix
guest 12.07.2013 18:46 # −5
Делаю минеты
guest 13.07.2013 01:41 # −5
guest 13.07.2013 01:42 # −4
anonimb84a2f6fd141 12.07.2013 20:17 # +1
Во-первых, в яве многое написано на яве же. А так- все правильно, зачем писать на говноязыке 30-летней давности, когда можно писать на удобных современных языках со сборкой мусора, а скорость будет почти той же?
superhackkiller1997 12.07.2013 21:17 # 0
anonimb84a2f6fd141 13.07.2013 00:16 # 0
anonimb84a2f6fd141 12.07.2013 20:18 # 0
superhackkiller1997 12.07.2013 21:19 # −1
Т.е. твой жаба-аллокатор - это аллокатор над Си-аллоктором, который по определению быстрее быть не может.
defecate-plusplus 12.07.2013 22:30 # +2
жабий аллокатор до поры до времени не удаляет ничего, потому не теряет времени на честную деструкцию мелких объектов
поэтому отъедает дохуя
а потом решает, что метров 200 занимают мертвые объекты сплошняком, и быстро их пачкой чистит
потому некоторые бенчи даже могут показать неплохой жабий "перформанс" по сравнению с сишкой
главное, успеть остановить бенч, пока сборщик мусора не включился
guest 12.07.2013 22:32 # +1
guest 12.07.2013 22:35 # 0
defecate-plusplus 12.07.2013 22:35 # 0
в сишке нет конструкторов и ты сам себе таджик
guest 12.07.2013 22:37 # 0
defecate-plusplus 12.07.2013 22:39 # 0
инфа 100% например
bormand 12.07.2013 22:46 # 0
defecate-plusplus 12.07.2013 22:51 # 0
если бы не удалял старый кусок, который не может расти, а в 2 вызова бы работал - легко бы запилился и с перемещением классов
особенно с наличием мув-конструкторов
но а так там беда с кроссплатформенностью - везде свой говнокод для эмуляции реаллока
guest 12.07.2013 22:49 # 0
вот если бы сделали реалок, который возвращает нуль, если расширить область нельзя или хендл для последующего подтверждения расширения, если расширить можно. (притом хендл желательно в раии)
guest 12.07.2013 22:49 # 0
bormand 12.07.2013 22:38 # 0
Еще этого не хватало :) И так уже туева хуча спецконструкторов...
bormand 12.07.2013 22:52 # 0
Не совсем. В жабе же нет такого понятия как free/delete. Там, емнип, в первом поколении копирующий GC, который спасает нужные объекты, а на остальные просто забивает хуй, сбрасывая указатель аллокатора на начало кучи. Время сборки первого поколения зависит от числа нужных объектов, и никак не зависит от числа выделенных с момента предыдущей сборки. Вот следующие поколения, там да, там дольше перекапывать...
Поэтому на некоторых сценариях жабий аллокатор может быть быстрее. Но с другой стороны такие сценарии на сишке никто использовать и не будет (выделять память мелкими кусками, почти сразу освобождая их).
guest 12.07.2013 22:56 # 0
superhackkiller1997 12.07.2013 23:08 # −3
На тухлой конденсаторной памятиты ты этого не получишь, хоть 100500 раз запили хардварно.
guest 12.07.2013 23:10 # 0
superhackkiller1997 12.07.2013 23:21 # −2
Посчитай сколько будет стоить такая память и шина для неё. Для сишки хватит ручного л2 на метров 50, и сишка будет рвать в хлам всё на 97% задач. Это реально.
Гигабайт автоматического л2 уже не реально, а на жаве с меньшим л2 ты не пролучишь профит.
guest 12.07.2013 23:32 # 0
superhackkiller1997 12.07.2013 23:38 # −1
Хотя возможно и 30к - покажи мне, какую ты нашел за 30к.
guest 12.07.2013 23:40 # 0
guest 13.07.2013 00:06 # 0
стоимость также умнож на 10 и получишь стоимость срам
superhackkiller1997 13.07.2013 00:32 # −1
guest 13.07.2013 00:35 # 0
то что срам ещё не производят в больших количествах в качестве рам - это срам
superhackkiller1997 13.07.2013 00:50 # −1
guest 13.07.2013 01:41 # −5
anonimb84a2f6fd141 13.07.2013 00:13 # 0
superhackkiller1997 12.07.2013 22:56 # −2
А ммап() жаба юзает, а ммап - это сишный аллокатор.
Вы постоянно путаете Си и либси. Си самодостаточный ЯП, который может сам рулить кучей как угодно, а жаба и остальные недоЯП не могут. Поэтому Си рвёт в хлам любую хреновину.
И да, жабааллокатор написан на Си, и это не жабааллокатор, а Си-аллокатор.
anonimb84a2f6fd141 13.07.2013 00:09 # +1
Lure Of Chaos 13.07.2013 00:28 # +2
насчет дефрагментации памяти - вряд ли, все упирается в ленивость жабамусоросборщика, котторый вызывается когда рак на горе свистнет
inkanus-gray 13.07.2013 00:46 # +2
booratihno 10.07.2021 14:22 # 0
Это вызывает лютый бугурт у пользователей, и порождает утверждение, что жаба всегда занимает 8 гигабайт
bormand 10.07.2021 15:00 # 0
Но ведь через час-два работы, когда гц хорошенько всё засрёт, она реально занимает 8 гигабайт... Или нет?
booratihno 10.07.2021 15:33 # 0
GC ленив, и пока место не кончится, говно и правда будет лежать в памяти. Просто так от нечего делать он ничего не чистит
Ось все таки выгрузит говно в свап, оно там не будет никому мешать, хотя конечно засрет место в свапе и в таблицах страниц и в соответствубщих структурах ядра
superhackkiller1997 13.07.2013 00:51 # −1
anonimb84a2f6fd141 13.07.2013 01:55 # 0
superhackkiller1997 13.07.2013 02:05 # −1
guest 13.07.2013 02:06 # −5
anonimb84a2f6fd141 13.07.2013 02:18 # 0
guest 13.07.2013 02:20 # −4
superhackkiller1997 13.07.2013 05:54 # −2
Я уже 10раз описывал как.
anonimb84a2f6fd141 13.07.2013 17:17 # +1
Что ты пездишь, пидорва?
anonimb84a2f6fd141 13.07.2013 00:18 # +4
superhackkiller1997 12.07.2013 23:14 # 0
И ленивая подгрузка страниц, префаулт, madvise() на линуксе есть - можно расцеплять странички. Иметь одни и те же адреса вечно, изменяя лишь связи с реальными. Это в бесконечное число раз быстрее любого софтварного аллокатора, ибо любой софтварный аллокатор это же и делает, но имеет оверхед намного больше, чем операции связывания в ведре.
bormand 12.07.2013 23:29 # +1
superhackkiller1997 12.07.2013 23:36 # −1
У тебя итак будет оверхед минимум страница на каждую твою структуру памяти, только вот на маллоке у тебя ещё будет тотальная дефрагментация и уменьшить кучу почти нереально. Именно поэтому питух-блоузеры и не могут нормально освобождать память, ибо их куча говно.
Поэтому реально, в обычном коде оверхед от маллока настолько огромен, что просто не сравним с оверхедом на том, что я описал.
anonimb84a2f6fd141 13.07.2013 00:10 # +2
bormand 13.07.2013 00:18 # +3
Так у участников спора больше свободы, и каждый может выбрать свои аргументы\контаргументы, а не юзать заданные инициатором.
anonimb84a2f6fd141 13.07.2013 00:20 # 0
Тут все по команде готовы начать грызтся, причем каждый понимает сказанное по-своему и искренне счиатет остальных полудурками. Идеальное пастбище для троллей.
Lure Of Chaos 13.07.2013 00:30 # +2
anonimb84a2f6fd141 13.07.2013 01:38 # 0
bormand 13.07.2013 00:35 # +6
Lure Of Chaos 13.07.2013 00:46 # +2
bormand 13.07.2013 00:58 # +2
Lure Of Chaos 13.07.2013 01:01 # +1
inkanus-gray 13.07.2013 01:18 # +3
Lure Of Chaos 13.07.2013 01:30 # +2
guest 13.07.2013 01:38 # −5
inkanus-gray 13.07.2013 02:02 # +4
guest 13.07.2013 02:03 # −5
Coq 10.07.2021 12:23 # 0
CHayT 10.07.2021 12:34 # +3
А круг является множеством точек (=^ ◡ ^=)
Coq 10.07.2021 12:46 # 0
Круг — часть плоскости, которая лежит внутри окружности. Другими словами, это геометрическое место точек плоскости, расстояние от которых до заданной точки, называемой центром круга, не превышает заданного неотрицательного числа R. R называется радиусом этого круга. Если радиус равен нулю, то круг вырождается в точку.
j123123 10.07.2021 12:56 # +3
gologub 10.07.2021 13:18 # 0
bootcamp_dropout 10.07.2021 16:19 # +1
пиздеж, точка - это ромб с диагональю 0
anonimb84a2f6fd141 13.07.2013 01:37 # +1
guest 13.07.2013 12:06 # 0
Особенно если это один человек.
inkanus-gray 13.07.2013 23:28 # 0
anonimb84a2f6fd141 13.07.2013 23:44 # 0
guest 13.07.2013 01:46 # −5
guest 13.07.2013 01:47 # −5
guest 13.07.2013 01:46 # −5
6a6yuH 24.08.2021 21:46 # 0