0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 20
1

Поделитесь советом. Как сократить еще 1 символ. =)

10.02.2014, 15:37. Показов 455. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1, a/=2);
    o<<g%3;
Подскажите, пожалуйста, реально ли укоротить ее еще? )))
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2014, 15:37
Ответы с готовыми решениями:

поделитесь советом
Есть документ &quot;Служебная записка&quot; ,в форме есть поле &quot;тема&quot; в зависимости от темы выбитаеться...

Поделитесь советом
Доброго времени суток! Очень нужно начать изучение трехмерной графики в среде явы ну и явыFX,...

Поделитесь советом по компу
Всем привет, накатил дипресняк, я имею мечту в жизни стать по настоящему знающим...

Поделитесь советом по аккустике !
Здравствуйте! Знающие люди подскажите пожалуйста. Хочу купить аккустику для компа 2.1 до 10000р....

7
319 / 225 / 73
Регистрация: 22.11.2013
Сообщений: 856
Записей в блоге: 1
10.02.2014, 15:43 2
Пробел убрать, а можно так если не ошибся:
C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1)a/=2;
    o<<g%3;
0
Эксперт по математике/физикеЭксперт С++
1942 / 1280 / 367
Регистрация: 16.05.2013
Сообщений: 3,339
Записей в блоге: 6
10.02.2014, 15:47 3
C++
1
a/=2
Лучше использовать побитовый сдвиг. Работает шустрее:
0
SatanaXIII
10.02.2014, 15:48
  #4

Не по теме:

Ilot, это оффтоп. :p

0
Эксперт по математике/физикеЭксперт С++
1942 / 1280 / 367
Регистрация: 16.05.2013
Сообщений: 3,339
Записей в блоге: 6
10.02.2014, 15:51 5
Может тогда так?
C++
1
2
3
c>>a;
    while(g+=--a&1)--a;
    o<<g%3;
Хотя надо бы проверить будет ли это работать так же как и исходная программа...
0
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 20
10.02.2014, 18:17  [ТС] 6
Цитата Сообщение от mustimur Посмотреть сообщение
Пробел убрать, а можно так если не ошибся:
C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1)a/=2;
    o<<g%3;
пробелы не в счет. иначе следует весь код в одну строчку слить )))
так цикл не остановится. если g>0 то он будет виснуть

Добавлено через 2 минуты
Цитата Сообщение от Ilot Посмотреть сообщение
Может тогда так?
C++
1
2
3
c>>a;
    while(g+=--a&1)--a;
    o<<g%3;
Хотя надо бы проверить будет ли это работать так же как и исходная программа...
здесь на каждом шаге происходит двойное отнимание, а следует делить. да и цикл тоже не остановится при g>0
0
319 / 225 / 73
Регистрация: 22.11.2013
Сообщений: 856
Записей в блоге: 1
10.02.2014, 20:15 7
А если так:
C++
1
while(g+=a=a<<1&1);
0
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 20
11.02.2014, 10:54  [ТС] 8
Цитата Сообщение от mustimur Посмотреть сообщение
А если так:
C++
1
while(g+=a=a<<1&1);
результат другой. я сделал по другому, но wa1, хотя при сравнение работы программ рабочей-длинной и рабочей-короткой ответ один и тот же. код
C++
1
2
for (I >> a, a--; g += a & 1, a /= 2;);
    O << g % 3;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2014, 10:54

Поступление в ВУЗ - поделитесь советом
Доброго времени суток! В этом году мне предстоит поступить в ВУЗ. Как вы наверно догадались,...

как можно ещё сократить код?
#include&lt;iostream&gt; main(){ int n; std::cin&gt;&gt;n; std::cout&lt;&lt;n*(n+1)/2+1; }

Дилема которая не дает мне покоя! Поделитесь советом!
Я закончил ВУЗ по специальности маркетолог. Не знаю какие мотивы побудили меня туда идти, возможно...

Дилема которая не дает мне покоя! Поделитесь советом!
Я закончил ВУЗ по специальности маркетолог. Не знаю какие мотивы побудили меня туда идти, возможно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.