|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
Как вывести числа от 1 до 1000 без сравнений в Си++?02.03.2011, 18:08. Показов 25852. Ответов 68
Метки нет (Все метки)
Привет всем.
Получил на собеседовании по Си++ такой странный вопрос, подумал, ещё подумал. Ничего путного в голову не пришло. Вообщем стало дико любопытно, а как это сделать средствами Си++? Переадресую вопрос умным головам форума. Подскажите. ![]() P.S. Человек с которым общался явно знал не менее двух решений. Но я был не в том положении, чтобы спрашивать у него.
0
|
|
| 02.03.2011, 18:08 | |
|
Ответы с готовыми решениями:
68
Вывести все числа из диапазона от 0 до 1000, которые делятся на 2 и на 3 без остатка (for, while) Найти числа, меньше 1000, сумма делителей (без самого числа) которых, больше данного числа
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:56 | |
|
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
|||||||
| 16.03.2011, 01:57 | |||||||
0
|
|||||||
| 16.03.2011, 01:58 | |
|
Не по теме: Ладно, что-то я завёлся, видать, пора идти баиньки, а то мозг неадекватно на недосыпание реагирует...
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||
| 16.03.2011, 02:03 | |||||||
|
сравнение насколько я помню cmp и еще раз повторю это для intel для других процессоров будет по другому и даже если так
Добавлено через 3 минуты самое смешное что если было бы число меньше 1000 допустим 10 компилятор мог спокойно развернуть цикл
0
|
|||||||
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||||||||
| 16.03.2011, 02:05 | ||||||||
Но можно ли такое использовать под вопросом. Сама операция сравнение делится на два этапа: команда меняющая флаги + j** Добавлено через 1 минуту то это тоже будет решением.
0
|
||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 16.03.2011, 02:17 | ||
|
nxnx
а ты с оптимизацией прокомпилируй Добавлено через 5 минут может там какой-нибудь триггер переключается Ты знаешь схемотехнику Пентиума? я нет поэтому утверждать что идет сравнение не могу Почему тогда нет неявного сравнения с другим числом Добавлено через 3 минуты неявное сравнение с нулем это из человеческой логики типа если регистр (не)равен 0 то переходим по машинному если (не)установлен флаг а флаг может установить кто угодно вплоть до записи в регистр флагов
0
|
||
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||
| 16.03.2011, 02:19 | ||
|
Ибо большинство на них.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||
| 16.03.2011, 02:43 | |||||||
|
Добавлено через 14 минут чей то навеяло
0
|
|||||||
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||||||
| 16.03.2011, 02:48 | ||||||
|
чтобы однозначно решить такую задачу, в условии нужно писать архитектуру и какие можно использовать инструкции, и в соотв с этим создавать код.
Сравнение это всётаки j**, поскольку test\cmp не всегда есть и они аналоги and\sub по флагам. Но можно его представить как условный переход, тоже верно, в зависимости от логики программы. gcc отказался разворачивать цикл кстати. Добавлено через 1 минуту я тоже думал про вариант с исключением, можно попытатся сделать так чтобы вылетало при попытке записать туда, куда нельзя записывать. Добавлено через 3 минуты но всётаки вариант с исключением это уже немного не то) хотя в нём нету ни j** ни cmp\test ни loop)
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 16.03.2011, 02:51 | ||
|
Ни каждый кто хорошо знает С С++ хорошо знает ассемблер. тем более во что превратится его код надо задавать уровень абстракции например не использовать < , > ==, и т.д. или не использовать циклы или рекурсии или ни того не другого Добавлено через 1 минуту кстати исключение можно и в рекурсию запихнуть
0
|
||
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
|
| 16.03.2011, 02:52 | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 02:53 | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 19:47 | |
|
Visual C 2008
тоже не захотел разворачивать цикл причем for(int i=0;i<1;i++) честно выкинул цикл а уже при 2 создал цикл как я его не упрашивал Посему вопрос Могут ли компиляторы разворачивать циклы или это фантастика?? хотя цикл for(int i=0;i<10;i++) m+=i; по моему все компиляторы выбросят
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2008
Сообщений: 14
|
|
| 16.03.2011, 20:53 | |
|
0
|
|
|
|
||
| 16.03.2011, 21:40 | ||
|
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 22:04 | |
|
Я догадываюсь зачем разворачивают цикл
Ho nxnx на gcc, а я на VS не смог хотя включал и быстрый код и оптимизацию по скорости Поэтому и возник вопрос
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 16.03.2011, 22:33 | |||
|
Где ж их смотреть то???
MSDN
Добавлено через 1 минуту кстати плохой пример этот цикл должен выкинутся и добавится константа Добавлено через 4 минуты пардон ступил
0
|
|||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
| 17.03.2011, 05:17 | ||||||
|
притянуто конечно..
0
|
||||||
| 17.03.2011, 05:17 | |
|
Написать функцию, которая получает 2 целых числа и возвращает большее из них без циклов, ветвлений и сравнений
Вывести простые числа на интервале от 2 до 1000 Вивести на екран усі числа, що діляться на 11 без остачі від 11 до 1000 крім 110 і 220. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|