2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 01:52 
Аватара пользователя
Стоит задача со следующим условием: дана таблица, в которой приведены значения А и B. Каждому значению А соответствует определённое значение В. Ни А, ни В не принимают дробных значений.
Некто назвал одно из возможных значений, которое может принимать А, исходя из нижеуказанной таблицы. Используя названное значение А, определить, какое значение В ему соответствует, не глядя в таблицу. При построении решения разрешено использовать элементарные операции - сложение, вычитание, умножение и деление.

A B
01 1
02 3
03 3
04 3
05 5
06 5
07 5
08 5
09 5
10 7
11 7
12 7
13 7
14 7
15 7
16 7
17 9
18 9
19 9
20 9
21 9
22 9
23 9
24 9
25 9
26 11
27 11
28 11
29 11
30 11
31 11
32 11
33 11
34 11
35 11
36 11
37 13
38 13
39 13
40 13
41 13
42 13
43 13
44 13
45 13
46 13
47 13
48 13
49 13
50 15
51 15
52 15
53 15
54 15
55 15
56 15
57 15
58 15
59 15
60 15
61 15
62 15
63 15
64 15
65 17
66 17
67 17
68 17
69 17
70 17
71 17
72 17
73 17
74 17
75 17
76 17
77 17
78 17
79 17
80 17
81 17
82 19
83 19
84 19
85 19
86 19
87 19
88 19
89 19
90 19
91 19
92 19
93 19
94 19
95 19
96 19
97 19
98 19
99 19

Крутил-вертел, ничего так и не вышло.
Хотел решить задачу через корень, производную или логарифм, однако, это запрещено по условию. Брутфорсом в виде приближений Ньютона или рядов Тейлора решать несколько пошло, да и пока они сойдутся, пройдёт тонна приближений. Есть ли более красивые варианты решения этой задачи?

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 02:21 
Аватара пользователя
Но закономерность-то как таковую вы уже просекли?

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 02:24 
Аватара пользователя
Ну, да.

1
333
55555
7777777
999999999

и так далее.
Число повторяется ровно столько раз, сколько оно исчисляет.
1 один раз
3 - три раза
5 пять раз
7 семь раз
и так далее

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 02:39 
Ну дык и ладненько ж! С какого числа начнётся 31?

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 09:29 
Аватара пользователя
Это задача не из области математики, а из области ерунды. Ответ - корень, и Вам это известно. Как дать правильный ответ на вопрос, если правильный ответ запрещён? В конце концов Вы найдёте какое-нибудь хитрое выражение без символа "$\surd$", и оно формально подойдёт по условию. Но на самом деле это и будет...
...постойте, я всё это уже когда-то кому-то говорил.

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 09:56 
Аватара пользователя
Ерунда или не ерунда зависит от того, что ТС хочет найти. Если ему нужна формула, то да – ерунда. Но если ему нужен алгоритм в котором допустимы только четыре арифметические операции, то вполне себе и не ерунда.

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 10:41 
С точки зрения математики как раз наоборот.
Формула не ерунда. Простая но не ерунда. А запрет на использование элементарных действий - это ерунда.
Ну вот это подходит
Код:
    public static int f(int n) {
        int k = 1;
        for (int i = 1; i < n; i += k) {
            k += 2;
        }
        return k;
    }

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 13:41 
Аватара пользователя
Стоп.
Разве с точки зрения экономии памяти не будет ли лучше записать в массив значения B под индексом А, потом же просто обратиться по индексу А, чтобы получить В?
То есть:
set arr$[A_n] = B_n$

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 14:45 
А где здесь экономия памяти?

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 15:20 
Аватара пользователя
А разве массив заполняет её не одноразово? Ведь дальше только обращения к его элементам.

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение02.10.2014, 15:22 
Аватара пользователя
Это времени экономия, а не памяти.

 
 
 
 Re: Две последовательности и взаимосвязь между ними
Сообщение03.10.2014, 07:51 
Аватара пользователя
Cash в сообщении #914501 писал(а):
С точки зрения математики как раз наоборот.
Формула не ерунда. Простая но не ерунда.

Ерундой была названа не формула (что ерундового в формуле $2\lceil\sqrt n\;\rceil-1$?), а вопрос правильный ответ на который запрещён самим вопросом.
ИСН в сообщении #914493 писал(а):
Это задача не из области математики, а из области ерунды. Ответ - корень, и Вам это известно. Как дать правильный ответ на вопрос, если правильный ответ запрещён?


Cash в сообщении #914501 писал(а):
А запрет на использование элементарных действий - это ерунда.

Тоже не ерунда. Задачи такого типа имеют давнюю историю, например, все задачи на построение циркулем и линейкой без делений.

-- 03 окт 2014, 09:21 --

Simplar в сообщении #914529 писал(а):
Разве с точки зрения экономии памяти не будет ли лучше записать в массив значения B под индексом А, потом же просто обратиться по индексу А, чтобы получить В

Предложенный Cash алгоритм решает задачу для произвольного $n$ (абстрагируемся от конечной точности представления целых чисел в компьютере), а ваш -- только для конечного числа входов (не говоря уже о затратах памяти на хранение массива).

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group