![]() |
kak rospechatat 1.000.000 raz "WELCOME IMHO" ne ispolzya kakoi to vid loopa
kak rospechatat 1.000.000 raz "WELCOME IMHO" ne ispolzya kakoi to vid loopa
|
А что ты имеешь ввиду под слово "вид" цикла. Можно например с помощью рекурсии, если конечно не считать это "видом" цикла.
|
Это не в "программирование" а в "флейм". На чем распечатать, каким языком пользоваться? Возьми напиши от руки на листе, положи на копир и настучи 1.000.000 на количестве копий.
|
recursia это один подход, я его тоже придумал, надо не рекусрия и без for, goto, do-while, while etc.
|
рекурсию не ты придумал! :contract:
начем напечатать? на принтере? в файл? |
Примерно так:
Код:
count dd 0 |
to Lord-Skill - ne vazno na chem napechatat! :contract:
to Maddness - obasni chto tam napisano, ya xot i znal assembler no yze ne pomny 6 let nem ne pisal :beer: |
catcanon
1) копируется тело программы сразу после себя; 2) увеличиваем счетчик; 3) печать; 4) проверка на миллионную запись; 5) выполнение скопированного кода. Типа цикл развернулся. |
Madness
ето же наподобе цикла |
catcanon
Чего ж ты хочешь? Не "на подобии цикла" может быть только тупой копи-паст милион раз строки вывода нужной тебе надписи. |
ИМХО, кроми copy/paste нет другового варианта, все будет цыклом :idontnow:
|
ест есчо один способ. я его уже нашел, но предлагаю вам подумать. подсказка-прога займет ~20 строчек
етот вопрос у меня был на приеме на роботу. меня не взали :( . но все вопросы были на етом построени. фирма в израиле |
catcanon
Это не цикл :P Если убрать ограничение на 1000000, то ни одного условного/безусловного перехода не будет, можно и проверку без сравнения сделать, но только мастера дзена постигли данное шаманство, я к сожалению пока в астрал выхода не имею :( >прога займет ~20 строчек строчек чего? lol |
Madness
ничего не понал что ти написал? тут никакого цикла нету! 1.000.000 ето не усливие! ето подсказка номер 2 |
catcanon
Получается: как распечатать 1000000 раз "привет имхо" не используя какой-то вид цикла, но "1000000 раз" не является условием, или, другими словами, печатайте сколько влезет, хоть 1 раз, но без циклов! Ты можешь четко сформулировать вопрос? З.Ы. Чуть не забыл: вся эта байда должна обязательно занимать 20 строчек неизвестно чего и неизвестно каких... :idontnow: |
Ghost
все началос с того что надо розпечатат 1.000.000 не исползыя цикл. первуй вариант рекурсия а второй??? я уже нашол вариант. и занимает всего ~20 строчек кода. |
catcanon
Эээ, батенька... Так что Вам нужно распечатать? 1.000.000 или "привет имхо" такое количество раз? Имхо, алгоритм с повторяющимися действиями можно реализовать либо рекурсией, либо циклом (базовых алгоритмических конструкций, видишь ли, всего три: линейная, разветвляющаяся и циклическая). З.Ы. Мляяя... 20 строчек кода какого? На асме, паскале, прологе, в машинных кодах? Или, быть может, в заклинаниях? |
Ghost
если бы ето было так легкро, я бы вас не спрашивал? |
catcanon
Сформулируй ЧЕТКО и ПОНЯТНО свой вопрос или я сочту это все за флуд. |
Очень быстро: 2^20 = 1048576
Поправка, если учитывать разложение 1000000 = 11110100001001000000 то получится следующий код из ~20 строк Delphi: N>var N> s: string; N>begin N> s := 'Welcome'#10; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; write(s); N> s := s + s; write(s); N> s := s + s; write(s); N> s := s + s; write(s); N>end. N> В итоге ровно 1000000 строк Welcome все просто гениално. если человек не понимает то лучше сказат мне ето не нравитса. |
catcanon
Да, решение красивое. А слабо в 1 строчку это записать? (это про твою "подсказку") >если человек не понимает то лучше сказат мне ето не нравитса. Корректнее вопросы задавать надо. |
catcanon
Ух ты какой умный...Только вот учти, что с точки зрения ассемблера оператор "s := s + s;" будет представляться циклической конструкцией, что, по условию задачи, недопустимо. И, опять-так, в том же условии не сказано, на каком языке писать. В прологе, например, это можно было бы сделать и вовсе только с помощью рекурсии. Так что думай дальше. З.Ы. И на будущее: формулируй свои вопросы четче. |
я спрашивал решение, а не на каком язуке быдет написано. пример привел на delphi. можно есчо и basic спомнит или фортран или на лотус :beer:
ето не мое решение, сам не додымал. мне тозе он понравилса |
Если отвлечься от "двоичной подколки" то я бы написал windows service с таймером. По таймер эвенту печатал бы " Hello, IMHO" один раз, предварительно проверяя значение глобального счетчика. Если счетчик достиг нужного значения - печать скипается. Все, никакого цикла. :)
А вообще-то это старая хохма: "Существует ровно 10 типов людей: те, кто понимает двоичное исчисление, и те, кто его не понимает." :) :) |
Изящное решение, показывает всю мощь факториала!
|
Цитата:
Наверно надо было попросить написать блок-схему, которая не использовала бы цикла и по которой можна было б распечатать все это. По крайней мере вопрос о языке програмирования бы отпал. |
| Часовой пояс GMT +4, время: 07:57. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.