|
Простая задачка на скорость | ☑ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Stepa86
14.01.11
✎
14:10
|
Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»
навеяно http://habrahabr.ru/blogs/htranslations/111843/ у кого какое время от создания обработки, до получения результата в окно сообщений (ну или кто как выводит на экран) ? |
||||||||||||||||
1
Stepa86
14.01.11
✎
14:11
|
у меня 1:32... много на переключении раскладки потерял
<2 минут |
||||||||||||||||
2
acsent
14.01.11
✎
14:12
|
Настоящий одноэсник начинает написание программы со слов ЗАЧЕМ?
|
||||||||||||||||
3
Tatitutu
14.01.11
✎
14:13
|
а что такое кратно ?
|
||||||||||||||||
4
СвинТуз
14.01.11
✎
14:14
|
Для ии=1 по 100 Цикл
Если (ии%15)=0 Тогда Сообщить("FizzBuzz"); ИначеЕсли (ии%5)=0 Тогда Сообщить("Buzz"); ИначеЕсли (ии%3)=0 Тогда Сообщить("Fizz"); Иначе Сообщить(ии); КонецЕсли; КонецЦикла; |
||||||||||||||||
5
Stepa86
14.01.11
✎
14:14
|
(2) вон в (3) настоящий одноэсник =) Если б все задавали этот вопрос, то у 1Сников было б мало работы... такие вопросы они задают только в том случае, когда не хотят это делать
|
||||||||||||||||
6
zyto
14.01.11
✎
14:14
|
(3)Ещё спроси что такое числа :)
|
||||||||||||||||
7
СвинТуз
14.01.11
✎
14:15
|
(2)
Он начинает с вопроса "сколько?" |
||||||||||||||||
8
Stepa86
14.01.11
✎
14:15
|
(4) тут время главное, а не алгоритм...
|
||||||||||||||||
9
povar
14.01.11
✎
14:15
|
(0) Смотря какой бюджет, можно и на неделю растянуть
>5 минут |
||||||||||||||||
10
VladZ
14.01.11
✎
14:16
|
От ста тыщь...
|
||||||||||||||||
11
Ненавижу 1С
гуру
14.01.11
✎
14:17
|
можно прям сюды?
Для й=1 по 100 Цикл Стр = ""; Если й%3=0 Тогда Стр="Fizz"; КонецЕсли; Если й%5=0 Тогда Стр=Стр+"Buzz"; КонецЕсли; Если Стр="" Тогда Стр=Строка(й); КонецЕсли Сообщить(Стр); КонецЦикла; |
||||||||||||||||
12
Живой Ископаемый
14.01.11
✎
14:17
|
<2 минут |
||||||||||||||||
13
СвинТуз
14.01.11
✎
14:17
|
ну вот полчаса работы ...
вроде я первый ... думаю 500 рублей будет достаточно высылать будете на электронный кошелек? з.ы. Кстати ... зачем вам это надо было? |
||||||||||||||||
14
Живой Ископаемый
14.01.11
✎
14:17
|
Или нужно было правильно решить? :)
|
||||||||||||||||
15
Ненавижу 1С
гуру
14.01.11
✎
14:18
|
хотя все бОльшую важность принимает скорость разработки, но в данном случае соревнование полный бред
|
||||||||||||||||
16
Tatitutu
14.01.11
✎
14:20
|
тема создана в 14.01.11 - 14:10
уже 14.01.11 - 14:20 ответ >10 минут |
||||||||||||||||
17
СвинТуз
14.01.11
✎
14:20
|
(1) вот поэтому 1с и вытеснила неудачнегов от с++
|
||||||||||||||||
18
Ненавижу 1С
гуру
14.01.11
✎
14:21
|
(17) юмор оценен
|
||||||||||||||||
19
also
14.01.11
✎
14:21
|
(4) первое условие зачем?
|
||||||||||||||||
20
СвинТуз
14.01.11
✎
14:22
|
(16)
глаза раскройте ширше 4 минуты - 2 минуты на обнаружение и чтение |
||||||||||||||||
21
СвинТуз
14.01.11
✎
14:23
|
(19)
условия задачи читайте и код Вы же программист |
||||||||||||||||
22
Stepa86
14.01.11
✎
14:24
|
(15) дык пятница же, и это такое спринтерское задание, где счет идет на секунды... чисто текст без создания обработки, ее запуска под 1Ской и проверкой я б может и < 1 минуты сделал, но уже лень пробовать
|
||||||||||||||||
23
Живой Ископаемый
14.01.11
✎
14:26
|
2(21) оно необязательно - см. код в (11)... но так тоже можно
|
||||||||||||||||
24
also
14.01.11
✎
14:26
|
(21)"Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»"
У вас есть условие на кратность трем и на кратность пяти..Все..Больше не надо условий.. |
||||||||||||||||
25
Tatitutu
14.01.11
✎
14:26
|
(20) - (16) не тебе адресовано, ты еще успел
(21) он тоже интересуется (3) |
||||||||||||||||
26
Stepa86
14.01.11
✎
14:26
|
можно усложнить задачу, получить таблицу из 100 строк запросом, по условию из 0
|
||||||||||||||||
27
СвинТуз
14.01.11
✎
14:27
|
1
<2 минут |
||||||||||||||||
28
also
14.01.11
✎
14:27
|
(23)конечно можно, просто в данном примере всего одно условие лишнее, и код не сильно заговнился, а если чуть усложнить задачу...
|
||||||||||||||||
29
also
14.01.11
✎
14:28
|
(27)но не оптимально
|
||||||||||||||||
30
СвинТуз
14.01.11
✎
14:28
|
(24)
Ню ню ... чел меня будет учить что такое НОД |
||||||||||||||||
31
Живой Ископаемый
14.01.11
✎
14:29
|
2(30) ты смешной...
|
||||||||||||||||
32
СвинТуз
14.01.11
✎
14:29
|
(24)
отдыхайте тяпница сегодня |
||||||||||||||||
33
also
14.01.11
✎
14:30
|
(30)ты решил задачу не оптимально, мог бы уже согласиться и не вы..ываться
|
||||||||||||||||
34
acsent
14.01.11
✎
14:30
|
(7) Это фришники начинают, так а фикси с вопроса ЗАЧЕМ
|
||||||||||||||||
35
Шпиндельная бабка
14.01.11
✎
14:30
|
Я не смекнул сложность задачи.
<3 минут |
||||||||||||||||
36
also
14.01.11
✎
14:30
|
А, я понял кто УПП пишет :))
|
||||||||||||||||
37
СвинТуз
14.01.11
✎
14:31
|
(24)
можем и решето Эратосфена обсудить ? |
||||||||||||||||
38
also
14.01.11
✎
14:32
|
(37) см (31)
|
||||||||||||||||
39
forforumandspam
14.01.11
✎
14:32
|
.
<2 минут |
||||||||||||||||
40
Лефмихалыч
14.01.11
✎
14:32
|
получилось даже масштабируемо и без омерзительного дублирования кода, как у некоторых :)
http://screencast.com/t/LgkuvVYwAzYA <2 минут |
||||||||||||||||
41
Ненавижу 1С
гуру
14.01.11
✎
14:33
|
за собой заметил такую фигню: если давать на скорость, то волнуюсь и результат бывает хуже чем если не говорить про скорость выполнения
|
||||||||||||||||
42
СвинТуз
14.01.11
✎
14:34
|
2also
что же Вы такой ... особенный ? если число делиться на 3 и 5 -> оно делиться на 15 вырубаем 15 ... проверяем на 3 и на 5 благо числа простые и не кратные ... вот если бы было 6 и 8 ... было бы сложнее Я что то не так излагаю? |
||||||||||||||||
43
Шпиндельная бабка
14.01.11
✎
14:34
|
(12) это что за обработка на видео ? собственная разработка ?
|
||||||||||||||||
44
Ненавижу 1С
гуру
14.01.11
✎
14:37
|
(40) и неправильно кстати, ты его проверял то?
|
||||||||||||||||
45
Лефмихалыч
14.01.11
✎
14:38
|
+(40) пеляет, напортачил...
|
||||||||||||||||
46
also
14.01.11
✎
14:38
|
(42) я уже написал в (24).. Очевидно что на кратность 3 и на кратность 5 необходимо условие. Также очевидно что если в коде уже присутствуют эти условия, то еще одного условия не требуется для решения поставленной задачи
|
||||||||||||||||
47
Шпиндельная бабка
14.01.11
✎
14:38
|
(40) - вот кто упп написал ....
|
||||||||||||||||
48
Живой Ископаемый
14.01.11
✎
14:39
|
2(42) чувак, ты случайно после того как анекдот рассказываешь - не объясняешь почему он смешной?
|
||||||||||||||||
49
Живой Ископаемый
14.01.11
✎
14:40
|
2(44,45) не заметил ошибки... чо там?
|
||||||||||||||||
50
Живой Ископаемый
14.01.11
✎
14:41
|
2(43) нет, скачанная... ТормозИТ (вроде) - инструменты разработчика
|
||||||||||||||||
51
Tatitutu
14.01.11
✎
14:41
|
(48) только тебе по секрету (42) и (0) - как бы сказать...
братья - близнецы - сам задал вопрос - сам и ответил побыстренькому |
||||||||||||||||
52
СвинТуз
14.01.11
✎
14:41
|
(48)
достает я же его в реале не вижу ... вдруг он тормоз, а не прикалывается |
||||||||||||||||
53
zak555
14.01.11
✎
14:41
|
на чём писать ?
|
||||||||||||||||
54
Лефмихалыч
14.01.11
✎
14:41
|
(48) сообщений сильно дохера. Сообщить(СчЦ) надо из внутреннего цикла вынести, а сам внутренний цикл прерывать, как только в условие заходишь
|
||||||||||||||||
55
СвинТуз
14.01.11
✎
14:43
|
ладно ...
всем тяпнуться ... удачно 500 рублей автор зажмет походу однозначно пошел напьюсь с горя |
||||||||||||||||
56
Живой Ископаемый
14.01.11
✎
14:43
|
а
|
||||||||||||||||
57
DJ Anthon
14.01.11
✎
14:44
|
в голове код пронесся за пару секунд.. смысл статьи понятен, полностью согласен с автором. а вот вы напишите код решения японского кроссворда, вот это я понимаю )))
<1 минуты |
||||||||||||||||
58
СвинТуз
14.01.11
✎
14:45
|
(54)
перепиши - посмотрим |
||||||||||||||||
59
AaNnDdRrEeYy
14.01.11
✎
14:46
|
Для ии=1 по 100 Цикл
Если (ии%15)=0 Тогда Сообщить("FizzBuzz"); ИначеЕсли (ии%5)=0 Тогда Сообщить("Buzz"); ИначеЕсли (ии%3)=0 Тогда Сообщить("Fizz"); Иначе Сообщить(ии); КонецЕсли; КонецЦикла; Настоящий 1с ник копипастит !!!! <1 минуты |
||||||||||||||||
60
zak555
14.01.11
✎
14:47
|
пусть 1сниги напишут вывод всех простых чисел от 1..N
|
||||||||||||||||
61
Tatitutu
14.01.11
✎
14:49
|
засечь время
прочитать задание открыть конфигуратор подождать пока загрузится создать новую обработку перейти в модуль написать код сохранить обработку запустить в режиме предприятия открыть обработку выполнить стоп (1) автор 1:32 ? 100$ на стол повторишь ? |
||||||||||||||||
62
also
14.01.11
✎
14:50
|
(60) баян... тут один уже собрался решетом Эратосфена меряться
|
||||||||||||||||
63
zak555
14.01.11
✎
14:52
|
(62) самое главное, чтоб было понимание
|
||||||||||||||||
64
Живой Ископаемый
14.01.11
✎
14:54
|
Автор задачки говорит что (4) для него тоже сгодится:
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. |
||||||||||||||||
65
zak555
14.01.11
✎
14:54
|
или функцию на проверку : простое число или нет
|
||||||||||||||||
66
Tatitutu
14.01.11
✎
14:54
|
интересно , а статью из (0) кто нибудь читал ?
очень понравилось 1. Нормальный программист должен написать такую программу на бумажке за пару минут. Но вот что интересно: многие люди с профильным образованием вообще не могут справится с этой задачей. Были даже случаи, когда кандидаты, подававшие резюме на вакансию «Senior developer» тратили на эту программу больше 15 минут. и подводим итог статьи: 2. то мы обязательно даем кандидату небольшую задачу по программированию, которую он должен решить при нас. Ничего сверхсложного, просто небольшое упражнение на час-полтора вопрос: кого люди ищут - если НОРМАЛЬНЫЙ за ПАРУ МИНУТ, а кандидату дают задание на ЧАС-ПОЛТОРА |
||||||||||||||||
67
also
14.01.11
✎
14:57
|
(64) ну чтобы понять что 15 кратно и 3 и 5 надо быть по крайней мере Перельманом :)
|
||||||||||||||||
68
Лефмихалыч
14.01.11
✎
15:00
|
а на бумажке ваще хер знает, сколько времени займет, но больше 5 минут - я руками пишу очень медленно и бэкспэйса нет, в результате чего приходится переписывать часто
|
||||||||||||||||
69
Живой Ископаемый
14.01.11
✎
15:00
|
2(67) главное не лажануться и не перепутать порядок условий... Потому что тоже о многом скажет
|
||||||||||||||||
70
also
14.01.11
✎
15:01
|
(69) ну это да
|
||||||||||||||||
71
Stepa86
14.01.11
✎
15:04
|
(61) база и конфигуратор были уже открыты, задание прочитано, время засек по "Ctrl+N", остановил, когда в окне сообщений выпало решение. Вроде (0) это не противоречит
|
||||||||||||||||
72
zak555
14.01.11
✎
15:21
|
задача мутота
|
||||||||||||||||
73
Ненавижу 1С
гуру
14.01.11
✎
15:31
|
исправленный код Лефмихалыч
Соответствие = Новый Соответствие; Соответствие.Вставить(15,"FizzBuzz"); Соответствие.Вставить(3,"Fizz"); Соответствие.Вставить(5,"Buzz"); Для й=1 По 100 Цикл Нашли = Ложь; Для каждого Эл Из Соответствие Цикл Если й%Эл.Ключ=0 Тогда Нашли = Истина; Сообщить(Эл.Значение); Прервать; КонецЕсли; КонецЦикла; Если Не Нашли Тогда Сообщить(й); КонецЕсли; КонецЦикла; |
||||||||||||||||
74
Stepa86
14.01.11
✎
15:33
|
(73) всегда ли проверка на 15 будет раньше, чем на 3 или 5?
|
||||||||||||||||
75
1С-ница
14.01.11
✎
15:35
|
(14)
Теперь я знаю, как быстрее получить адекватный ответ на свой вопрос)) |
||||||||||||||||
76
Ненавижу 1С
гуру
14.01.11
✎
15:35
|
(74) в документации этого не сказано, но только что проверил - да
|
||||||||||||||||
77
Stepa86
14.01.11
✎
15:37
|
(76) для избежания возможных коллизий с соответствием лучше через тз переписать, думаю
|
||||||||||||||||
78
СвинТуз
14.01.11
✎
15:41
|
(75)
Вы уже текущую строку обработали? Для быстрого ответа нужно фото другое |
||||||||||||||||
79
Живой Ископаемый
14.01.11
✎
15:49
|
2(75) как?
|
||||||||||||||||
80
СвинТуз
14.01.11
✎
15:51
|
Ваше фото полюбос не прокатит
|
||||||||||||||||
81
TormozIT
гуру
30.01.11
✎
18:01
|
(12) Афигенный способ использования консоли запросов) А почему не стал делать в справочнике ирАлгоритмы?
|
||||||||||||||||
82
Попытка1С
30.01.11
✎
18:08
|
(12) Тру 1сник должен печатать гораздо быстрее =)
|
||||||||||||||||
83
SnarkHunter
30.01.11
✎
18:19
|
Нижний Новгород от Чернобыля далеко?
|
||||||||||||||||
84
Живой Ископаемый
30.01.11
✎
20:42
|
2(81) Привычка уже - знаешь чаще что-то делаешь над данными.
зы. Спасибо! |
||||||||||||||||
85
Живой Ископаемый
30.01.11
✎
20:42
|
Далеко, но там есть свой закрытый объект.
|
||||||||||||||||
86
andrewks
30.01.11
✎
20:56
|
(0) в чём смысл? и почему не обозначена среда разработки?
ЗЫ если 8.2 да на стареньком компе - только запускать минут 5 надо |
||||||||||||||||
87
Туц
31.01.11
✎
03:00
|
Как-то так.
<1 минуты |
||||||||||||||||
88
Нуф-Нуф
31.01.11
✎
03:38
|
500руб
|
||||||||||||||||
89
1C-Nick
31.01.11
✎
15:27
|
(1) не нарадуюсь вот этому http://traditio.ru/wiki/Lswitch.exe
|
||||||||||||||||
90
strange2007
01.02.11
✎
06:09
|
на асме буду день писать, значит я не с вами
>5 минут |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |