#0
by Stepa86
Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz» навеяно у кого какое время от создания обработки, до получения результата в окно сообщений (ну или кто как выводит на экран) ?
#4
by СвинТуз
Для ии=1 по 100 Цикл Если (ии%15)=0 Тогда Сообщить("FizzBuzz"); ИначеЕсли (ии%5)=0 Тогда Сообщить("Buzz"); ИначеЕсли (ии%3)=0 Тогда Сообщить("Fizz"); Иначе Сообщить(ии); КонецЕсли; КонецЦикла;
#5
by Stepa86
вон в настоящий одноэсник =) Если б все задавали этот вопрос, то у 1Сников было б мало работы... такие вопросы они задают только в том случае, когда не хотят это делать
#11
by Ненавижу 1С
можно прям сюды? Для й=1 по 100 Цикл Стр = ""; Если й%3=0 Тогда Стр="Fizz"; КонецЕсли; Если й%5=0 Тогда Стр=Стр+"Buzz"; КонецЕсли; Если Стр="" Тогда Стр=Строка(й); КонецЕсли Сообщить(Стр); КонецЦикла;
#13
by СвинТуз
ну вот полчаса работы ... вроде я первый ... думаю 500 рублей будет достаточно высылать будете на электронный кошелек? з.ы. Кстати ... зачем вам это надо было?
#15
by Ненавижу 1С
хотя все бОльшую важность принимает скорость разработки, но в данном случае соревнование полный бред
#22
by Stepa86
дык пятница же, и это такое спринтерское задание, где счет идет на секунды... чисто текст без создания обработки, ее запуска под 1Ской и проверкой я б может и < 1 минуты сделал, но уже лень пробовать
#24
by also
"Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»" У вас есть условие на кратность трем и на кратность пяти..Все..Больше не надо условий..
#28
by also
конечно можно, просто в данном примере всего одно условие лишнее, и код не сильно заговнился, а если чуть усложнить задачу...
#40
by Лефмихалыч
получилось даже масштабируемо и без омерзительного дублирования кода, как у некоторых :)
#41
by Ненавижу 1С
за собой заметил такую фигню: если давать на скорость, то волнуюсь и результат бывает хуже чем если не говорить про скорость выполнения
#42
by СвинТуз
2also что же Вы такой ... особенный ? если число делиться на 3 и 5 -> оно делиться на 15 вырубаем 15 ... проверяем на 3 и на 5 благо числа простые и не кратные ... вот если бы было 6 и 8 ... было бы сложнее Я что то не так излагаю?
#46
by also
я уже написал в .. Очевидно что на кратность 3 и на кратность 5 необходимо условие. Также очевидно что если в коде уже присутствуют эти условия, то еще одного условия не требуется для решения поставленной задачи
#48
by Живой Ископаемый
2 чувак, ты случайно после того как анекдот рассказываешь - не объясняешь почему он смешной?
#51
by Tatitutu
только тебе по секрету и - как бы сказать... братья - близнецы - сам задал вопрос - сам и ответил побыстренькому
#54
by Лефмихалыч
сообщений сильно дохера. Сообщить(СчЦ) надо из внутреннего цикла вынести, а сам внутренний цикл прерывать, как только в условие заходишь
#55
by СвинТуз
ладно ... всем тяпнуться ... удачно 500 рублей автор зажмет походу однозначно пошел напьюсь с горя
#57
by DJ Anthon
в голове код пронесся за пару секунд.. смысл статьи понятен, полностью согласен с автором. а вот вы напишите код решения японского кроссворда, вот это я понимаю )))
#59
by AaNnDdRrEeYy
Для ии=1 по 100 Цикл Если (ии%15)=0 Тогда Сообщить("FizzBuzz"); ИначеЕсли (ии%5)=0 Тогда Сообщить("Buzz"); ИначеЕсли (ии%3)=0 Тогда Сообщить("Fizz"); Иначе Сообщить(ии); КонецЕсли; КонецЦикла; Настоящий 1с ник копипастит !!!!
#61
by Tatitutu
засечь время прочитать задание открыть конфигуратор подождать пока загрузится создать новую обработку перейти в модуль написать код сохранить обработку запустить в режиме предприятия открыть обработку выполнить стоп автор 1:32 ? 100$ на стол повторишь ?
#64
by Живой Ископаемый
Автор задачки говорит что для него тоже сгодится: I would also accept something like: for i in range(1,101): if i % 15 == 0: print “FizzBuzz” elif i % 3 == 0: print “Fizz” elif i % 5 == 0: print “Buzz” else: print i This at least shows that they realize that if something is divisible by 3 and 5, then it is also divisible by 15 (not a mind-bending fact, but at least they are changing the problem to be expressed without using “not”). Но далее The follow-up question from the interviewer is what is important. If they give either of the previous two solutions (or something similar), and then you ask them to optimize for length of code, or execution time (aka “don’t retest”) and they understand what you want, then you are learning something about them. That’s the real goal of the interview.
#66
by Tatitutu
интересно , а статью из кто нибудь читал ? очень понравилось 1. Нормальный программист должен написать такую программу на бумажке за пару минут. Но вот что интересно: многие люди с профильным образованием вообще не могут справится с этой задачей. Были даже случаи, когда кандидаты, подававшие резюме на вакансию «Senior developer» тратили на эту программу больше 15 минут. и подводим итог статьи: 2. то мы обязательно даем кандидату небольшую задачу по программированию, которую он должен решить при нас. Ничего сверхсложного, просто небольшое упражнение на час-полтора вопрос: кого люди ищут - если НОРМАЛЬНЫЙ за ПАРУ МИНУТ, а кандидату дают задание на ЧАС-ПОЛТОРА
#68
by Лефмихалыч
а на бумажке ваще хер знает, сколько времени займет, но больше 5 минут - я руками пишу очень медленно и бэкспэйса нет, в результате чего приходится переписывать часто
#69
by Живой Ископаемый
2 главное не лажануться и не перепутать порядок условий... Потому что тоже о многом скажет
#71
by Stepa86
база и конфигуратор были уже открыты, задание прочитано, время засек по "Ctrl+N", остановил, когда в окне сообщений выпало решение. Вроде это не противоречит
#73
by Ненавижу 1С
исправленный код Соответствие = Новый Соответствие; Соответствие.Вставить(15,"FizzBuzz"); Соответствие.Вставить(3,"Fizz"); Соответствие.Вставить(5,"Buzz"); Для й=1 По 100 Цикл Нашли = Ложь; Для каждого Эл Из Соответствие Цикл Если й%Эл.Ключ=0 Тогда Нашли = Истина; Сообщить(Эл.Значение); Прервать; КонецЕсли; КонецЦикла; Если Не Нашли Тогда Сообщить(й); КонецЕсли; КонецЦикла;
#81
by TormozIT
Афигенный способ использования консоли запросов) А почему не стал делать в справочнике ирАлгоритмы?
#86
by andrewks
в чём смысл? и почему не обозначена среда разработки? ЗЫ если 8.2 да на стареньком компе - только запускать минут 5 надо
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Запуск баз 1с:8.2 из ярлыков.
- Перенос остатков из УТАП
- Перенос остатков из УТАП
- Раскрыть дерево при открытии
- Настройка шаблона этикетки в Базовой 1с Рознице.
- СКД: Скрываемые колонки в макете
- Получение значения реквизита УФ по названию
- Выгрузка только изменений конфигурации в файл в РИБ
- Базовая/проф версия 8.2
- ЗУП 8.1 Отчет по отпускам за свой счет.
- Заполните рабочий календарь сотрудника за месяцы, предшествующие событию!
- УТ 11 помогите с запросом получения себестоимости определенного товара
- Стандартный период в СКД
- НЕ выгружается ДТшник и ЦФник :(
- Функция ТипЗнч() в 1С 8.2
- Установка вида скидки в доке "Установка Скидок номенклатуры"
- Ошибки Postgresql
- Как создать DBF фаил, с длиной имени больше 8 символов?
- СКД. Как вывести последние значения из регистра сведений?
- Команда с параметром типа ДокументСсылка