|
Математика. Как вернуть 1, если послали больше либо равно 4, и 0 если иначе. 🠗 (Волшебник 05.05.2012 15:00) | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
05.05.12
✎
12:46
|
Возможно ли, используя математические действия, остаток от деления, процент, мин, макс, написать формулу.
Формула должна возвращать 1, если послали в формулу 4, и 0 если иначе. |
|||
1
Ненавижу 1С
гуру
05.05.12
✎
12:47
|
аргумент может быть вообще любое число или есть ограничения?
|
|||
2
Cube
05.05.12
✎
12:47
|
Ответ = ?(Послали = 4, 1, 0);
|
|||
3
Ненавижу 1С
гуру
05.05.12
✎
12:48
|
(2) нельзя использовать wiki:Тернарная_условная_операция
|
|||
4
Галахад
гуру
05.05.12
✎
12:48
|
(1) Число положительное. Разрядность 15.2.
|
|||
5
zva
05.05.12
✎
12:49
|
0^(5-x), если не вегетарианец
|
|||
6
zva
05.05.12
✎
12:51
|
0^(4-x)
|
|||
7
Starhan
05.05.12
✎
12:51
|
1=(4+0)/(4-0)
:) |
|||
8
Ненавижу 1С
гуру
05.05.12
✎
12:51
|
(6) 0^0 неопределено
|
|||
9
Галахад
гуру
05.05.12
✎
12:51
|
(2) См (3)
(5) Степени нету. Только простые действия: - + / * Целочисленное деление Остаток от деления Процент Мин Макс |
|||
10
Wobland
05.05.12
✎
12:52
|
Число(Послали=4)
|
|||
11
Ненавижу 1С
гуру
05.05.12
✎
12:52
|
+(8) хотя 1С так не думает Pow(0,0)=1
|
|||
12
DGorgoN
05.05.12
✎
12:52
|
(8) Это число а не функция
|
|||
13
wertyu
05.05.12
✎
12:53
|
(6) тогда уж (x+1)^0
|
|||
14
Cube
05.05.12
✎
12:53
|
(10) Красиво!)
|
|||
15
Галахад
гуру
05.05.12
✎
12:53
|
(7) Что-то не понял.
А если вместо 4 подставить 5? |
|||
16
Ненавижу 1С
гуру
05.05.12
✎
12:54
|
(12) этого числа нет, как нет и 0/0
|
|||
17
xenos
05.05.12
✎
12:55
|
Думаю копать надо в сторону: x/2-(x-2)
|
|||
18
Ненавижу 1С
гуру
05.05.12
✎
12:55
|
(0) это с какого собеседования?
|
|||
19
Starhan
05.05.12
✎
12:56
|
(15) Не правильно прочел условие :(
|
|||
20
Starhan
05.05.12
✎
12:58
|
(17) Тогда уж (4/2)/(4-2)
|
|||
21
xenos
05.05.12
✎
12:59
|
(20) при х=2 ошибка
|
|||
22
Галахад
гуру
05.05.12
✎
13:04
|
Похоже решил:
Мин( 1 ; Цел(Х/4) ) |
|||
23
iamnub
05.05.12
✎
13:04
|
(22)
Жирно - четверку то указывать явно! |
|||
24
iamnub
05.05.12
✎
13:05
|
(22)
И x=40 = твоя функция вернет 1. А нужно 0 |
|||
25
Ненавижу 1С
гуру
05.05.12
✎
13:06
|
(22) при Х=400 получаем 1, а надо 0
|
|||
26
Krendel
05.05.12
✎
13:07
|
(8) любое число в степени 0, дает единицу
|
|||
27
Ненавижу 1С
гуру
05.05.12
✎
13:08
|
(26) кроме нуля, где это неопределенность
|
|||
28
Krendel
05.05.12
✎
13:08
|
||||
29
Krendel
05.05.12
✎
13:08
|
В вики 0 ;-)
|
|||
30
Krendel
05.05.12
✎
13:09
|
а сорри.
|
|||
31
Krendel
05.05.12
✎
13:09
|
все прочел
|
|||
32
Ненавижу 1С
гуру
05.05.12
✎
13:09
|
(30) вот именно, там как раз написано
|
|||
33
Галахад
гуру
05.05.12
✎
13:10
|
Э-э-э, народ. Я тут облажался немного в условии.
Если больше или равно 4, то 1 Иначе 0 |
|||
34
Ненавижу 1С
гуру
05.05.12
✎
13:10
|
(33) пипец))
|
|||
35
badboychik
05.05.12
✎
13:12
|
Цел(Мин(Передали,4),4)
|
|||
36
Starhan
05.05.12
✎
13:12
|
(33) то то я и думаю что эито вы в (24)(25) за 40 и 400 схватили когда там 1 будет возвращать начиная от 5ти
|
|||
37
iamnub
05.05.12
✎
13:12
|
(33)
Да за такое банить надо |
|||
38
Ненавижу 1С
гуру
05.05.12
✎
13:13
|
(35) поясни ))
|
|||
39
iamnub
05.05.12
✎
13:13
|
Короче.
|
|||
40
badboychik
05.05.12
✎
13:15
|
(38) че пояснять то тут )
передали 10 -> находим целую часть от деления 4/4 - это 1 передали 2 -> находим целую часть от деления 2/4 - это 0 |
|||
41
iamnub
05.05.12
✎
13:15
|
МАКС(ЦЕЛ(((X-2)+(X-2)-(X/2)*(X/2))+1)),0)
Судим. |
|||
42
Галахад
гуру
05.05.12
✎
13:16
|
(35) В чем отличие от (22)?
|
|||
43
badboychik
05.05.12
✎
13:19
|
(42) вроде как ничем ) значит есть 2 способа
|
|||
44
iamnub
05.05.12
✎
13:22
|
(42)
мало того, что ты облажался в условии. Что будет, если в твою формулу передать отрицательное число? |
|||
45
ptrtss
05.05.12
✎
13:22
|
min(4,x)/3
? |
|||
46
ptrtss
05.05.12
✎
13:23
|
а, не, лажа
|
|||
47
ptrtss
05.05.12
✎
13:24
|
а, не, с учетом "облажался в условии" - самое то
|
|||
48
bahmet
05.05.12
✎
13:24
|
(22)че за Цел? в условии нет такого
|
|||
49
Ненавижу 1С
гуру
05.05.12
✎
13:27
|
да кстати, Цел нет
|
|||
50
Галахад
гуру
05.05.12
✎
13:30
|
(44) см. (4)
(45) При х = 1, результат = 1/3 (48), (49) В (9) уточнение. Но даже без него Мин( 1 ; (Х/4 - ОстатокОтДеления(Х/4)) |
|||
51
Snorkler
05.05.12
✎
13:32
|
max(0, x-4)/(x-4)
Проблема только при х=4, но предел справа в этой точке равен 1, так что, вроде, соответствует поправленному условию. |
|||
52
Галахад
гуру
05.05.12
✎
13:34
|
(51) Классно.
|
|||
53
iamnub
05.05.12
✎
13:37
|
Согласно (0) и (9)
Ответ в (44). |
|||
54
iamnub
05.05.12
✎
13:38
|
Тьфу на, в (41)
|
|||
55
NS
05.05.12
✎
13:44
|
цел(макс(мин(x,4),0)/4)
|
|||
56
NS
05.05.12
✎
13:45
|
(55) -> (33)
|
|||
57
xenos
05.05.12
✎
14:11
|
(41) Работает.
|
|||
58
xenos
05.05.12
✎
14:31
|
(55)
При 5 будет выдавать значение 1 цел(макс(мин(x,4),0)/4) |
|||
59
Shaman100M
05.05.12
✎
14:32
|
Цел(Макс(Мин(х-3,5-х),0))
|
|||
60
Shaman100M
05.05.12
✎
14:36
|
Цел(Макс((х-3)*(5-х),0)) примерно та же идея.
|
|||
61
Shaman100M
05.05.12
✎
14:39
|
а, Цел() не используется...
|
|||
62
xenos
05.05.12
✎
14:39
|
(61)Цел() надо на х накладывать
|
|||
63
Shaman100M
05.05.12
✎
14:42
|
ну, так тогда:
Макс((Цел(х)-3)*(5-Цел(х)),0) |
|||
64
Shaman100M
05.05.12
✎
14:54
|
Макс(Мин(х-3-х%1,5-х+х%1),0)
вот, так, в соответствии с условиями задачи |
|||
65
NS
05.05.12
✎
14:56
|
(58) и?
Читай (33) |
|||
66
Волшебник
05.05.12
✎
15:00
|
За (33) топлю ветку
|
|||
67
ptrtss
05.05.12
✎
15:39
|
(50) Это целочисленное деление
|
|||
68
Torquader
06.05.12
✎
21:07
|
Max(0,X)/X - возвращает 0, если Х<=0 и 1, если X >0
Min(0,X)/X - возвращает 0, если X>=0 и 1, если X <0 То есть 1-(Max(0,X)/X)+(Min(0,X)/X) даст 1, только в 0. Однако, нужно понимать, что у нас есть предельный переход, который, например, компьютеру будет не по зубам. Надо от него избавится. Рассмотрим Rest(X) - дробная часть от X - она задана на интервале [0,1) Нужно получить функцию, которая даёт 1 в 0 и 0 на всём остальном интервале. Целое(X)=X-Rest(X) - даёт максимальное целое число меньшее или равное нашему. Предполагаем, что математическое целое (то есть Целое(-0.5)=-1). Целое(X)+Целое(-X)=0 только если X у нас Х=0 На интервале (-1,0)=-1 На интервале (0,1)=-1 Другими словами, данная функция даёт значение 0, если число целое и -1, если нет. 1+(Целое(X)+Целое(-X)) - даёт 1 в целых числах и 0 в нецелых Далее можем работать в целых числах (мы научились дробные переводить в целые) Max(1,X)-Max(0,X) - в целых числах даёт 0 при Х>=1 и 1 при Х<=0 Min(X,0)-Min(X,-1) - в целых числах даёт 0 при X<=-1 и 1 при X>=0 Сложим эти выражения - получим 2 в 0 и 1 в остальных. (Max(1,X)-Max(0,X)+Min(X,0)-Min(X,-1)-1)*(1+(Целое(X)+Целое(-X))) - получаем 1, если X=0 и 0, если X<>0 Далее, смещением можем подставить любую точку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |