|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
Как вывести числа от 1 до 1000 без сравнений в Си++?02.03.2011, 18:08. Показов 25855. Ответов 68
Метки нет (Все метки)
Привет всем.
Получил на собеседовании по Си++ такой странный вопрос, подумал, ещё подумал. Ничего путного в голову не пришло. Вообщем стало дико любопытно, а как это сделать средствами Си++? Переадресую вопрос умным головам форума. Подскажите. ![]() P.S. Человек с которым общался явно знал не менее двух решений. Но я был не в том положении, чтобы спрашивать у него.
0
|
|
| 02.03.2011, 18:08 | |
|
Ответы с готовыми решениями:
68
Вывести все числа из диапазона от 0 до 1000, которые делятся на 2 и на 3 без остатка (for, while) Найти числа, меньше 1000, сумма делителей (без самого числа) которых, больше данного числа
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 16.03.2011, 00:53 | ||||||
|
А это тоже считается?
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 01:01 | |
|
а если так
for(int i=1000;i;i--) printf("%d",1001-i);
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 16.03.2011, 01:04 | |
|
ForEveR, алгоритмы в большинстве своём — оболочки для циклов, так что не, не считается :) .
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:09 | |
|
ValeryS, думаете, в вашем коде нет сравнений?
0
|
|
|
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 4
|
|
| 16.03.2011, 01:11 | |
|
А метки и переходы никак?)
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 16.03.2011, 01:23 | ||
|
когда скомпилируется может быть и будут( в машинных кодах) зависит от архитектуры здесь используется два допущения 1 в С 0 false любое число true 2 цикл for крутится до тех пор пока условие(вторая запись) true т.е. будет крутится пока i не станет 0
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:25 | |
|
ValeryS, т.е. происходит неявное сравнение с нулём. Т.е. факт сравнения налицо.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 01:26 | |
|
можно написать и так
for(int i=1;i%1001;i++) но такой вариант с while уже писали
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:28 | |
|
И снова неявное сравнение с нулём. Циклы тут не прокатят.
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
|
| 16.03.2011, 01:29 | |
|
помоему задачу надо было ставить более конкретно:
запрещены команды j** (исключая jmp; или cmp\test ?) и команды цикла, такие как loop любое условный переход создаст в конечном коде инструкцию j** цикл - либо создаст loop (выполнится ecx раз) либо j**
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 01:29 | |
|
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:31 | |
|
ValeryS, факт неявности не исключает факт сравнения.
Добавлено через 50 секунд nxnx, ну почему же, бесконечный цикл, судя по всему, использовать разрешается.
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
|
| 16.03.2011, 01:32 | |
|
1
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:34 | |
|
nxnx, а, да, извиняюсь. Невнимательно прочитал ваше сообщение.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 16.03.2011, 01:34 | |
|
в архитектуре ATmega есть набор команд которые выполняются в зависимости от флага
а флаг выставляется не только операциями сравнения. поэтому я и написал в С НЕТ сравнений а в машинных кодах как повезет разговор по моему о С
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:37 | |
|
ValeryS, во-первых, разговор, по-моему, о Си++. Во-вторых, всю жизнь думал, что while (i % 1001) эквивалентно while (i % 1001 != 0). Или я чего-то не понимаю?
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 16.03.2011, 01:46 | ||
|
в первом случае i % 1001 у тебя будут значения от 0 до 1000 (далее по циклу) во втором i % 1001 != 0 только два значения истина и ложь стандарт нам обещает только что ЛОЖЬ =0 ИСТИНА любое другое значение о том что значение будет сравниваться с 0 никто не обещает и то что это делают компиляторы для ИНТЕЛа не факт что будут делать на других процессорах
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.03.2011, 01:48 | |
|
ValeryS, не понимаю, если мы сейчас говорим о сях, о какой истине или лжи идёт речь?
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||||||||||||||||
| 16.03.2011, 01:50 | ||||||||||||||||
0
|
||||||||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 16.03.2011, 01:55 | ||
|
а если так рассуждать то здесь тупо подойдет только второй пост
printN<500>(); компилятор скорее всего загонит в цикл Добавлено через 3 минуты true false BOOL TRUE FALSE
0
|
||
| 16.03.2011, 01:55 | |
|
Написать функцию, которая получает 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
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|