Имя: Пароль:
IT
 
Простая задачка на скорость
0 Stepa86
 
14.01.11
14:10
1. <1 минуты 0% (0)
2. <2 минут 0% (0)
3. <3 минут 0% (0)
4. <5 минут 0% (0)
5. >5 минут 0% (0)
Всего мнений: 0

Напишите программу, которая выводит на экран числа от 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 минут
AdBlock убивает бесплатный контент. 1Сергей