0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
1 | |
Как вывести числа от 1 до 1000 без сравнений в Си++?02.03.2011, 18:08. Показов 22344. Ответов 68
Метки нет (Все метки)
Привет всем.
Получил на собеседовании по Си++ такой странный вопрос, подумал, ещё подумал. Ничего путного в голову не пришло. Вообщем стало дико любопытно, а как это сделать средствами Си++? Переадресую вопрос умным головам форума. Подскажите. P.S. Человек с которым общался явно знал не менее двух решений. Но я был не в том положении, чтобы спрашивать у него.
0
|
02.03.2011, 18:08 | |
Ответы с готовыми решениями:
68
Вывести все числа из диапазона от 0 до 1000, которые делятся на 2 и на 3 без остатка (for, while) Найти числа, меньше 1000, сумма делителей (без самого числа) которых, больше данного числа Как вывести на консоль числа от 1 до 1000 не используя цикл? Написать функцию, которая получает 2 целых числа и возвращает большее из них без циклов, ветвлений и сравнений |
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
02.03.2011, 20:40 | 2 |
cout <<1 <<"\n";
cout <<2 <<"\n"; cout <<3 <<"\n"; cout <<4 <<"\n"; Дальше лень писать
0
|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
02.03.2011, 21:01 [ТС] | 3 |
Тоже вариант - проверяется трудолюбие претендента!
0
|
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
|
|||||||||||
02.03.2011, 21:13 | 4 | ||||||||||
я конечно не знаток Си и Си++
да в общем то и языков программирования)) 1.
0
|
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
|
||||||
02.03.2011, 21:13 | 5 | |||||
0
|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
02.03.2011, 21:18 [ТС] | 6 |
Ребята, спасибки за идею, но к сожалению вариант с while(n) это сравнение. Я первым делом уточнил.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
02.03.2011, 21:19 | 7 |
Разве во всех предложенных вариантах не происходит сравнения, хоть и неявного?
0
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
||||||
02.03.2011, 21:21 | 8 | |||||
Сообщение было отмечено как решение
Решение
9
|
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
|
|
02.03.2011, 21:24 | 9 |
То бишь циклы вообще не пользовать?
0
|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
02.03.2011, 21:27 [ТС] | 10 |
Циклы со сравнениями не использовать, то есть while(1) или for(; может и прокатит,
но while(n) и if(n) нельзя.
0
|
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
|
|
02.03.2011, 21:31 | 11 |
собственно чем while(1) от while(n) отличаются?
0
|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
02.03.2011, 21:33 [ТС] | 12 |
Volovzi - ГЕНИАЛЬНО! Работает!!! Спасибо, я так и думал, что это какая-нибудь хитро выдуманная
языковая фишка! Такое использование специализации мне и в голову не приходило!!! Спасибо!!! Fimbulwinter, про константу и бесконечные циклы я не уточнял. Поэтому не могу точно ответить.
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
||||||
03.03.2011, 06:28 | 13 | |||||
Сообщение было отмечено как решение
Решение
Вот и второе решение.
3
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
03.03.2011, 11:26 | 14 | |||||
Сообщение было отмечено как решение
Решение
6
|
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 6
|
|
03.03.2011, 14:15 [ТС] | 15 |
Красиво!!
0
|
vow
|
|
15.03.2011, 02:26 | 16 |
CheshireCat,
|
Формучанин
364 / 294 / 42
Регистрация: 02.11.2010
Сообщений: 1,242
|
||||||
15.03.2011, 11:05 | 17 | |||||
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
15.03.2011, 22:55 | 18 | |||||
0
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
15.03.2011, 23:05 | 19 |
Nick Alte, во-первых, этот вариант уже был, а во-вторых, всякий. Надо только установить глубину реализации шаблонов в тысячу.
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
15.03.2011, 23:06 | 20 |
volovzi, если не ошибаюсь, то многие версии визуала просто не вытянут тысячу вне зависимости от настроек. Ну а что было - извиняйте, не разглядел именно этот вариант.
0
|
15.03.2011, 23:06 | |
15.03.2011, 23:06 | |
Помогаю со студенческими работами здесь
20
Вывести на экран те числа из интервала [10 .. 1000], которые меньше произведения цифр десятичной записи числа Вывести простые числа в диапазоне от 2 до 1000 Вывести простые числа на интервале от 2 до 1000 Вивести на екран усі числа, що діляться на 11 без остачі від 11 до 1000 крім 110 і 220. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |