Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2016, 21:48
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Создание геометрической прогрессии
Задачка не совсем по javascript, но используется именно там)

Нужно составить весьма популярную, простую формулу (но у меня что-то толку не хватает).

Условия формулы: Чем больше число X, тем меньше увеличивается число N.

Например:

X = 1, то N = 1
X = 110, то N = 9
X = 1120, то N = 23
X = 65000, то N = 70

Пример не точный, написал просто для наглядности.
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2016, 22:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Untropee,

function fn(x)
  {
    return 1 + Math.log(x)*Math.log(x)/2|0
  }

alert([fn(1),fn(110),fn(1120),fn(65000)]);
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2016, 22:33
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Мощнейше) Я как на зло с Math плохо дружу, щас ещё в ней буду разбираться) Разбираюсь, как узнать сколько ещё нужно X, чтобы получить +1 N
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2016, 13:00
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Так и не смог узнать, сколько нужно X, чтобы получить +1 N.

Смог вычислить % сколько выполнено, но вот конечного числа так и не нашёл(
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2016, 19:56
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Ребят, кто всё таки сможет доделать, либо по нужде переделать функцию, если в этой очень сложно?

Я заплачу, в ЛС договоримся, очень надо)
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2016, 20:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Untropee,
чего доделать-то?
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2016, 02:20
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Сообщение от рони Посмотреть сообщение
Untropee,
чего доделать-то?
Как узнать сколько ещё нужно X, чтобы получить +1 N?)

Есть у нас например X = 56796, а N = 62.54
И вот сколько ещё нужно X чтобы вышло ровно 63?

Последний раз редактировалось Untropee, 28.01.2016 в 02:27.
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2016, 02:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Untropee,

function fn(x)
  {
    return 1 + Math.log(x)*Math.log(x)/2|0
  }


 function foo(y)
 {
    return Math.ceil(Math.exp(Math.sqrt((y - 1)*2)))
 }
var x = 20; //текущее х
var n = fn(x); //текущее n = 5
var nextX = foo(n+1); //24 будущее x при котором n увеличится
var z = nextX-x; //24 - 20 до следующего уровня 6 осталось 4
alert(fn(x+z)); //6
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2016, 03:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Untropee,
<script>
function fn(x)
  {
    return 1 + Math.log(x)*Math.log(x)/2|0
  }


 function foo(y)
 {
    return Math.ceil(Math.exp(Math.sqrt((y - 1)*2)))
 }

for (var i=1; i<=100; i++)  {document.write("n = "+i+" x = "+foo(i)+ " test = "+ (fn(foo(i)) == i && fn(foo(i)-1) != i) + "<br>")}
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 28.01.2016, 13:07
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

Всё отлично! Спасибо большое.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание JS конструктора sheckler Работа 2 25.05.2015 21:24
Создание Конструктора sheckler Элементы интерфейса 1 25.05.2015 12:02
Создание своей библиотеки. Создание двух одинаковых объектов. Как избежать? IDCh Javascript под браузер 2 31.10.2012 12:53
Создание скрипта "Итеррационные циклы" по формуле krasopetka Общие вопросы Javascript 0 17.11.2011 12:42
Создание скрипта! Создание диктанта для учеников! Елизавета Работа 10 30.06.2010 21:00