[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 137 | 2 | 51
Назад Вниз Каталог Обновить

Аноним 11/03/17 Суб 10:39:32  148537567  
595994.jpg (87Кб, 650x502)
Есть цикл
while (q>0) {
бла-бла-бла
}
В цикле надо из q вычитать 200, но когда останется меньше, чем 200, нужно вычесть столько, сколько осталось чтобы q стало = нулю то есть чтобы q не ушло в минус.
Как это сделать, не прибегая к if-у?
Аноним 11/03/17 Суб 10:40:46  148537631
бамп
Аноним 11/03/17 Суб 10:41:31  148537666
бамп
Аноним 11/03/17 Суб 10:41:53  148537682
бамп
Аноним 11/03/17 Суб 10:42:38  148537722
бамп
Аноним 11/03/17 Суб 10:43:17  148537751
бамп
Аноним 11/03/17 Суб 10:43:37  148537768
А нахуя? В любом случае же из цикла выйдешь.
Аноним 11/03/17 Суб 10:44:12  148537788
>>148537768
Не важно. Это нужно для другой переменной
Аноним 11/03/17 Суб 10:44:19  148537798
>>148537567 (OP)
If q-400<0 then q=0
Аноним 11/03/17 Суб 10:44:41  148537815
>>148537788
Обнули после выхода из цикла.
Аноним 11/03/17 Суб 10:44:46  148537817
>>148537798
> не прибегая к if-у

Аноним 11/03/17 Суб 10:45:42  148537863
>>148537815
Другая переменная пишется в цикле.
Аноним 11/03/17 Суб 10:45:59  148537874
Троцной оператор можно?
Аноним 11/03/17 Суб 10:46:13  148537884
>>148537567 (OP)
q = q<0 ? 0 : q-200;
Аноним 11/03/17 Суб 10:46:15  148537885
Тройной
Аноним 11/03/17 Суб 10:46:39  148537899
>>148537567 (OP)
Тебе вообще нельзя использовать if или нельзя только в цикле? Вообще, как вариант, завести отдельную переменную, куда записать целую часть от деления на 200:

Например, q = 1100;
Значит i = 10, а q сразу 0 присваивай. Но вообще, ты какой-то хуетой занимаешься.
Аноним 11/03/17 Суб 10:47:14  148537927
>>148537899
> i = 5
фикс
Аноним 11/03/17 Суб 10:48:39  148537989
>>148537884
еще вариант q = Math.max(0, q-200);
Аноним 11/03/17 Суб 10:49:15  148538021
>>148537884
что ето
Аноним 11/03/17 Суб 10:49:29  148538035
Max(q,0)
Аноним 11/03/17 Суб 10:55:49  148538306
Не занимайся программированием. Это не для тебя, ты тупой как пробка.
Аноним 11/03/17 Суб 10:55:55  148538316
>>148537567 (OP)
Если ты настолько еблан, то нахуй ты вообще по кнопкам взялся тыкать?
Аноним 11/03/17 Суб 10:56:24  148538333
>>148537863
Прозреваю полнейший пиздос вместо кода.
Аноним 11/03/17 Суб 10:57:38  148538392
>>148537567 (OP)
Вот это бля дебилоиды в прогу лезут теперь
Аноним 11/03/17 Суб 10:58:25  148538411
>>148538306
Иди нахуй даун
Аноним 11/03/17 Суб 10:58:38  148538423
>>148538392
Набить бы тебе лицо за такие слова.
Аноним 11/03/17 Суб 10:59:54  148538481
>>148537567 (OP)
while q > 200
q = q - 200

q = q-q

Аноним 11/03/17 Суб 10:59:57  148538484
>>148537567 (OP)
Здарова
Аноним 11/03/17 Суб 11:01:03  148538536
>>148537884
А где цикл? Где деление если q>200?
>>148537567 (OP)
Если совсем мудак, можешь двумя циклами сделать.
While(q!=400){} и то же для 200.
Аноним 11/03/17 Суб 11:01:27  148538557
>>148538481
Тупой
Аноним 11/03/17 Суб 11:02:11  148538598
>>148538536
200 и 0 естественно
Аноним 11/03/17 Суб 11:04:48  148538712
>>148537567 (OP)
Чё блядь? Наркоман, охуел совсем штоли?
Аноним 11/03/17 Суб 11:04:54  148538716
>>148537884
>не прибегая к if
Аноним 11/03/17 Суб 11:07:50  148538859
>>148537567 (OP)
Зачем не прибегать к ифу?
Аноним 11/03/17 Суб 11:09:46  148538940
>>148538859
Потому что это неоптимизированный говнокод.
Аноним 11/03/17 Суб 11:11:04  148539013
>>148538940
>Потому что это неоптимизированный говнокод.
Ох, лол. А то говно, которое родит оп пытаясь обойтись без if будет пиздец каким оптимизированным. Я просто хуею.
Аноним 11/03/17 Суб 11:11:37  148539040
>>148538716
if и нет. Или по твоей логике и цикл нельзя использовать, ведь там тоже скрытый if.
Аноним 11/03/17 Суб 11:12:02  148539063
>>148537567 (OP)
while (q > 200) {
//Do something
}
//Use q value
q =0
Аноним 11/03/17 Суб 11:12:11  148539074
А нельзя прервать цикл на while q=0 каким- нибудь брейком? Или оно так не работает?

мимо никогда в жизни не погромировал
Аноним 11/03/17 Суб 11:12:39  148539097
>>148539013
>яскозал
Аноним 11/03/17 Суб 11:12:44  148539099
>>148539074
Можно
Аноним 11/03/17 Суб 11:13:28  148539132
>>148539097
Аргументы будут? Можно раз и навсегда решить этот спор просто показав код. Уверен ОП обосрется.
Аноним 11/03/17 Суб 11:14:03  148539158
>>148537567 (OP)
Только goto, только хардкор
Аноним 11/03/17 Суб 11:15:11  148539213
>>148539063
ему внутри цикла нужны операции над q, а не после
Аноним 11/03/17 Суб 11:15:46  148539248
q-=min(q,200)
Аноним 11/03/17 Суб 11:16:44  148539295
>>148538716
Почему нельзя if использовать?
>>148537989
А там if внутри, значит опу это тоже не подойдет.
Аноним 11/03/17 Суб 11:17:33  148539337
>>148539248
>min(q,200)
В голос над оптимизаторами ИТТ. А как по твоему будет работать min? Это блять, целая функция, которая в себе содержит не только if чтобы определить что меньше, но и еще несколько шагов.
Аноним 11/03/17 Суб 11:17:51  148539349
>>148538940
Ахаха. Найс рофлишь бротиш.
Аноним 11/03/17 Суб 11:17:57  148539355
>>148539295
>А там if внутри
пруфы?
Аноним 11/03/17 Суб 11:18:07  148539365
>>148539248
Разворачивается в тот же if, при этом просадка в скорости. Най совет, уебище.
Аноним 11/03/17 Суб 11:18:17  148539371
>>148539337
> но и еще несколько шагов.
Ору с дебила.
Аноним 11/03/17 Суб 11:18:30  148539383
>>148539337
Зато в цикле ифа не будет как и хотел его ОП
Аноним 11/03/17 Суб 11:18:55  148539407
>>148539355
А как еще может быть ебин?
Аноним 11/03/17 Суб 11:19:00  148539410
>>148539355
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Math.java#Math.max%28long%2Clong%29
Аноним 11/03/17 Суб 11:19:28  148539433
q-=(q < 200) q + (q>=200) 200
Аноним 11/03/17 Суб 11:19:31  148539436
>>148539371
>q = q - min(q,200)
Сам развернешь или тебе помочь?
Аноним 11/03/17 Суб 11:20:28  148539483
>>148539158
Двачую
Аноним 11/03/17 Суб 11:20:59  148539508
>>148539436
>>148539371
Хотя, не сможешь, поэтому вот http://www.cplusplus.com/reference/algorithm/min/
Аноним 11/03/17 Суб 11:21:17  148539521
>>148539436
Ты что долбоеб? Илм не туда ответил?
if(a<b) return a
esle return b
Где тут >ещё несколько шагов?
Аноним 11/03/17 Суб 11:21:50  148539542
>>148539433
блядский двач
там умножение естественно
Аноним 11/03/17 Суб 11:22:11  148539558
>>148539508
Это ровно то о чем я говорил. Зачем ты ебешься в глаза?
Аноним 11/03/17 Суб 11:22:45  148539579
>>148539521
Мб вызов функции, передача аргументов там, возврат, все это занимает дохуя процессорных тактов, может даже больше самого ифа.
мимошел
Аноним 11/03/17 Суб 11:22:54  148539587
>>148539521
В твоем мирке только одна реализация Math?
Аноним 11/03/17 Суб 11:23:02  148539597
Проиграл с оптимизатора итт.
Аноним 11/03/17 Суб 11:23:03  148539598
def test(q):
while (q>200):
q=q-200
print q
while(200>q>0):
print "Last value is: ",q
q = q - q

test(3453)
Аноним 11/03/17 Суб 11:23:24  148539613
быдлокодеры порвались, найс
Аноним 11/03/17 Суб 11:24:01  148539644
>>148539521
>>148539558
Ты знаешь во что превращает компилятор код? Удивишься, но по итогу вызов функции и ретург из него добавит еще несколько конструкций в код, против всего одного if. Если хочешь поспорить - неси скомпилированный код, мы его будем разбирать
Аноним 11/03/17 Суб 11:24:27  148539671
>>148539644
видел бы ты что такое иф в ассемблерном коде
Аноним 11/03/17 Суб 11:24:39  148539690
>>148539613
Двачую. Использовать if - быть дауном.
Аноним 11/03/17 Суб 11:25:04  148539709
>>148539579
Ору. Это настолько незначительно, что не повлияет ни на что. Да и насколько я знаю компиляторы подобную хуйню с функциями в одну строку оптимизируют.
Аноним 11/03/17 Суб 11:25:18  148539721
>>148537567 (OP)
while (q>=200) {
бла-бла-бла
}
q=0
Аноним 11/03/17 Суб 11:26:19  148539775
>>148539721
ОПу-дебилу надо q занулённое в цикле юзать.
Аноним 11/03/17 Суб 11:27:04  148539812
>>148539644
Даунич, а ты знаешь что компилятор делали не дауны, они тоже что-то знаюь про оптимизацию. В крестах 100% эта вся функция при компиляуии просто убирается и ее содержимое вставляется в места вызова.
Аноним 11/03/17 Суб 11:27:44  148539841
Оп давай уже сюда свой говнокод. Мы тебе хоть подскажем что не так, может тебе это поможет в будущем.
Аноним 11/03/17 Суб 11:28:21  148539876
>>148539775
while (q>=200) {
бла-бла-бла
}
while (q>0) {
q=0
бла-бла-бла
}
Аноним 11/03/17 Суб 11:28:43  148539891
>>148539671
Лол, а что там? 2 строчки, 1 - cmp, 2-ая goto
Аноним 11/03/17 Суб 11:29:27  148539928
>>148538411
Школьник, отойди от клавы, тыкать по клавишам не для тебя. Ты д е б и л
Аноним 11/03/17 Суб 11:29:33  148539932
>>148539891
хуйни не неси, маня.
Аноним 11/03/17 Суб 11:30:41  148539980
>>148539932
Это ты маня. И да, цикл от услперехода дохуя наверное отличается в асм по-твоему?
Аноним 11/03/17 Суб 11:30:55  148539994
>>148539932
Пруфы будут, петушок? Давай пример кода.
Аноним 11/03/17 Суб 11:32:14  148540049
>>148539671
Так покажи. Заодно и вызов функции принеси

>>148539812
Пруфануть сможешь?
Аноним 11/03/17 Суб 11:32:21  148540055
>>148539876
Ну так-то всё верно,лол.
>ОПу-дебилу надо q занулённое в цикле юзать.
Обоcрался.
Аноним 11/03/17 Суб 11:33:32  148540120
>>148539841
while (j>0) {
if (j>250) {
R = 249;
j -= 250;
} else {
R = j - 1;
j=0;
};
};
Аноним 11/03/17 Суб 11:34:54  148540174
>>148540120
неоптимизированная хуйня. можно без ифов
Аноним 11/03/17 Суб 11:34:58  148540179
Untitled.png (42Кб, 767x639)
>>148540049
Аноним 11/03/17 Суб 11:35:52  148540225
>>148537567 (OP)
While (q>0)
{q=q-200
While (q<200){q=0}
}

Аноним 11/03/17 Суб 11:36:40  148540265
У меня тоже в школе такая хуета. Не понимаю зачем нам эти ку, какие то сложения вычитания, и какого хуя нас не учат писать проги или простенькие игры. Нахуй мне вот эти ку минус 200, если я хочу игру написать или прогу для айфона?
Аноним 11/03/17 Суб 11:37:51  148540321
>>148540179
Даже после этого ты по прежнему считаешь, что if не разворачивается в 2 строки?
Аноним 11/03/17 Суб 11:38:07  148540340
>>148540120
while (j>250) {
R = 249;
j -= 250;
};
R = j - 1;
j=0;
Аноним 11/03/17 Суб 11:38:37  148540364
>>148540321
Я не он, я вообще мимопроходил.
Аноним 11/03/17 Суб 11:38:49  148540369
while q=>0 do begin
repeat
Dec(q);
until q>200;
q:=0;
end;

мимо школьник даунич
Аноним 11/03/17 Суб 11:39:26  148540408
>>148540364
Скажи где все это делал
Аноним 11/03/17 Суб 11:39:37  148540415
>>148540340
while (j>250) {
j -= 250;
};
R = j - 1;
j=0;
Даже вот так лол. R = 249; не используется.
Аноним 11/03/17 Суб 11:40:02  148540444
>>148540265
Просто лишняя информация, ты прав. Это для задротов, нормальные пацаны просто берут фреймворк и учат его апи. Нахуя это все учить, когда все за тебя написано, дауны кароч, я так считаю.
Аноним 11/03/17 Суб 11:40:17  148540452
>>148540408
https://godbolt.org/
Аноним 11/03/17 Суб 11:40:23  148540453
>>148540444
Двачую вапще дауны какие-то.
Аноним 11/03/17 Суб 11:40:31  148540462
>>148540364
Красава.
Аноним 11/03/17 Суб 11:44:06  148540636
>>148540415
А вот и победитель.
Аноним 11/03/17 Суб 11:50:04  148540944
>>148537567 (OP)
while (q!=0) {
бла-бла-бла
q = max(0,q-200);
}
Аноним 11/03/17 Суб 11:52:29  148541094
>>148540944
так будет лучше
while (q = max(0,q-200)) {
бла-бла-бла
}
Аноним 11/03/17 Суб 11:53:52  148541176
while(q>0){
q-=q>200?200:q;
}
Аноним 11/03/17 Суб 11:54:37  148541224
>>148537567 (OP)
Почему нельзя просто после цикла написать: q = 0?
Аноним 11/03/17 Суб 11:55:40  148541301
>>148541176
Двачую этого, тернарный оператор рулит.
Аноним 11/03/17 Суб 12:01:03  148541617
while (a >= 200 || (a = 0)) {
a-= 200;
}
Аноним 11/03/17 Суб 12:01:05  148541622
while(q > 0)
{
q -= 200 (q >= 200) + q (q < 200);
}

/thread
Аноним 11/03/17 Суб 12:02:00  148541671
>>148540415
может так лучше:
R = j % 250 - 1;
j = 0;
Аноним 11/03/17 Суб 12:04:40  148541809
>>148541617
Это сработает в Javascript. Может быть, в других C-подобных языках.
Аноним 11/03/17 Суб 12:05:42  148541876
>>148537567 (OP)
While (q>200) {
q=q-200;
};
q=q-q;
Аноним 11/03/17 Суб 12:06:20  148541909
>>148540179
>x86
Ебать, блеванул с говноархитектуры
Аноним 11/03/17 Суб 12:12:11  148542251
>>148541671
ой бля:
j = j % 250;
R = j == 0 ? 249 : j - 1;
j = 0;
Аноним 11/03/17 Суб 12:25:14  148543036
int32_t q;
int32_t temp;

while (q > 0) {
q -= 200;
temp = (uint32_t)(q & 0x80000000) >> 31;
temp = q - (q * temp);
[ OPERATIONS ON TEMP ]
}
Аноним 11/03/17 Суб 12:26:04  148543086
>>148543036
хотя нахуй & просто шифт же
Аноним 11/03/17 Суб 12:42:03  148543989
>>148537567 (OP)
Challenge accepted

while (q>0) {
....try {
........var temp = q / (<int>q / 200)
....}
....catch (Exception) {
........//use q that less than 200
....}
....q -= 200;
}
Аноним 11/03/17 Суб 12:44:15  148544127
>>148543989
Сорян, заигрался и забыл условие.
fixed:

while (q>0) {
....try {
........var temp = q / (<int>q / 200)
....}
....catch (Exception) {
........//use q that less than 200
........q = 0;
........break;
....}
....q -= 200;
}
Аноним 11/03/17 Суб 12:45:17  148544190
>>148537567 (OP)

while (q>0) {
bla-bla-bla
для продолжения
просмотра
купи
пасскод (пидор)

}
Аноним 11/03/17 Суб 12:47:08  148544290
Тред полон си-питушков и оптимизаторо-школькиков
Аноним 11/03/17 Суб 12:49:02  148544406
>>148537863
Заебал, полное условие напиши, а-то потом еще какое говно выяснится
Аноним 11/03/17 Суб 12:49:12  148544416
>>148544290
ООооооо хай левел господин, неужеле ты?
Аноним 11/03/17 Суб 12:52:09  148544585
абу в треде
Аноним 11/03/17 Суб 12:54:35  148544722
>>148544416
They see me rolling coding
They hating
https://www.youtube.com/watch?v=CtwJvgPJ9xw
Аноним 11/03/17 Суб 12:55:34  148544800
>>148537567 (OP)
Ну цикл в цикле ебош.
Аноним 11/03/17 Суб 13:03:40  148545312
>>148537817
q = ((q-400<0) ? (q-400) : 0)
Аноним 11/03/17 Суб 13:06:34  148545506
В чем проблема использовать if?
Аноним 11/03/17 Суб 13:12:17  148545845
while q > 200:
....q -= 200
else:
....q -= q
ОП, нахуя так изъёбываться, кстати?


Аноним 11/03/17 Суб 13:15:46  148546057
>>148545845
Забыл break в конец добавить, ну да хуй с ним
Аноним 11/03/17 Суб 13:32:53  148547080
>>148537567 (OP)
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

не благодари
Аноним 11/03/17 Суб 13:33:53  148547131
>>148547080
Обоссал всех итт.
Аноним 11/03/17 Суб 13:36:51  148547304
>>148540265
Будущий программист на джиквери
Аноним 11/03/17 Суб 13:38:46  148547413
>>148537567 (OP)
Вычитаешь из q не единицу, а элемент массива, где на всех позициях 1, а на 200-й - 200. Никаких проверок.
Аноним 11/03/17 Суб 13:39:02  148547429
>>148547080
Хелловорлд, и хуйли?
Аноним 11/03/17 Суб 13:45:01  148547782
>>148547413
Блин, в глаза ебусь. Тогда просто задаешь матрицу для всех возможных кю прекальком, сжираешь ей гигабайт памяти, но потом просто индексируешь по х - начальное значение кю, по у - результат вычитания на такой то итерации.
Аноним 11/03/17 Суб 13:46:33  148547871
>>148542251
Первый раз верно было же. Только он один хуй цикл хотел.
Аноним 11/03/17 Суб 14:21:01  148549747
напиши на асме критичный участок кода будет 100% оптимизация
Аноним 11/03/17 Суб 14:31:08  148550388
while (q>0) {
last = q;
}
q -= last;
Аноним 11/03/17 Суб 14:57:46  148552032
>>148537567 (OP)
>не прибегая к if-у
q -= 200;
q = (q + Math.abs(q)) / 2;
Аноним 11/03/17 Суб 14:59:24  148552147
>>148547782
Двачую, это хороший подход, благодаря ему современные браузеры такие быстрые.
Аноним 11/03/17 Суб 15:10:51  148552835
>>148537567 (OP)
while (q>200) { q-= 200}
q -= q
Аноним 11/03/17 Суб 15:13:28  148553005
>>148552835
Алсо, while это тоже if

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 137 | 2 | 51
Назад Вверх Каталог Обновить

Топ тредов
Избранное