|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
Как вывести числа от 1 до 1000 без сравнений в Си++?02.03.2011, 18:08. Показов 25291. Ответов 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,874
|
|
| 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,874
|
||
| 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,874
|
|
| 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,874
|
|
| 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,874
|
|
| 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,874
|
||
| 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,874
|
||
| 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. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|