Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

242
Views
Número redondeado al número más cercano más adecuado para que pueda calcular el intervalo que es un factor de 2, 5 o 10

Puede haber cualquier número especificado, entonces quiero escribir una función para devolver el mejor número de límite superior para calcular el intervalo.

Para dividir el número en 5 intervalos, los mejores números son

  1. si es menor o igual a 5 = dividir en 1, 2, 3, 4, 5
  2. si 10 => dividir en 2, 4, 6, 8, 10
  3. si 25 => dividir en 5, 10, 15, 20, 25
  4. si 50 => dividir en 10, 20, 30, 40, 50
  5. si 100 => dividir en 20, 40, 60, 80, 100
  6. si 125 => dividir en 25, 50, 75, 100, 125
  7. Si 500 => dividir en 100, 200, 300, 400, 500

Pero el número de entrada, no puede ser ese 5, 10, 25, 50, 100, 125, 500,...

Así que me gustaría escribir una función que pueda devolver el mejor número en negrita, pero ahora estoy atascado. Quiero calcular sobre la marcha. No hay valores predefinidos ya que no sé cuál sería el número de entrada. Para menos o igual a 10, puedo agregar más para manejar, pero más de 10, quiero pasar por algún cálculo de fórmula.

aporte producción
8 10
13 25
110 125
456 500
1601 2000
53194 60000

¿Hay alguna fórmula para calcular para que pueda escribir la función que toma la entrada anterior y devuelve la salida? Muchas gracias.

La razón para no dividir 110 en 22, 44, 66, 88, 110, estos números no son adecuados para aparecer en el eje del gráfico excepto 2, 4, 6, 8, 10.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sugiero definir su intervalo de alguna manera como esta:

Para un número de entrada positivo n, encuentre el intervalo mínimo i tal que 5i >= n e i sea una de las siguientes formas: 10^k, 2(10^k), 5(10^k) o 25(10^ k), donde k es un número entero no negativo

Luego puede resolver las desigualdades resultantes tomando logaritmos y tomando la solución mínima viable para encontrar el intervalo.

 function interval(n, steps=5) { // Find the minimum x such that x = a*b^k >= n / steps, where k is an integer const solve = (a, b) => a * b ** Math.ceil(Math.log((n / steps) / a) / Math.log(b)); // Return the lowest of the possible solutions return Math.min( solve(1, 10), solve(2, 10), solve(5, 10), solve(25, 10) ); } // alternatively const interval = (n, steps=5) => Math.min(...[1, 2, 5, 25].map(a => a * 10 ** Math.ceil(Math.log10((n / steps) / a)))); const inputs = [5, 8, 13, 110, 456, 1601, 53194]; console.log("input\t int\t limit"); for (const n of inputs) { console.log(n, '\t', interval(n), '\t', 5 * interval(n)); }

Esto no coincide con su salida sugerida en todos los casos, pero proporciona valores razonables y consistentes. Puede ajustar los formularios que están permitidos si desea modificar esto.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!