问答

学渣求一个算法公式

作者:admin 2021-06-22 我要评论

const ratio = 0.9 const price = [{price: 9215.49,scale: 2}, {price: 172.19,scale: 2}, {price: 179.7132,scale: 4}, {price: 1.53058, scale: 5}, {price: ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

const ratio = 0.9
const price = [{price: 9215.49,scale: 2}, {price: 172.19,scale: 2}, {price: 179.7132,scale: 4}, {price: 1.53058, scale: 5}, {price: 0.00030837,scale: 8}]

有一组价格数组,包含价格精度;一个倍数变量ratio;把价格放大r倍,得到一个差额;期望价格精度越大差额越大

我自己琢磨的公式:

const getDiff = (price, ratio) => {
  const temp = []

  for (const el of price) {
    const priceScale = el.scale
    const m = Math.pow(10, priceScale)
    
    const r = (el.price * m) * ratio
    const n = (el.price * m)

    temp.push(n - r)
  }

  return temp
}

const ratio = 0.9
const price = [{price: 9215.49,scale: 2}, {price: 172.19,scale: 2}, {price: 179.7132,scale: 4}, {price: 1.53058, scale: 5}, {price: 0.00030837,scale: 8}]


console.log(getDiff(price, ratio))
###

你想请求算法,则应该主要介绍数据关系,而不是直接给出你的算法吧。

你的数据关系还是不够明白啊

我理解的:
1.价格数组中 ,每个元素是 一个 价格数据price,一个精度数据scale,
2.此外还有一个外部调整 系数ratio,在计算中与价格数据price相乘得出 一个新的价格数据。

期望有一个算法F(price,scale,ratio),使得对价格数组中的每个元素,有 F(price,scale,ratio) 与 price的差距随 scale 正增长。

这里其实有很多歧义可能影响到算法:

  1. price、scale、ratio的取值范围?
  2. 差距是指绝对值,还是 相对值(分正负)?

这些不弄清楚(加以限定),则结果可能差异很大。

你自己实现的算法现在看应该没有太大的问题的。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 学渣求一个算法公式

    学渣求一个算法公式

  • WeixinJSBridge在微信app端是如何实现

    WeixinJSBridge在微信app端是如何实现

  • js for循环遍历问题,如何判断每个数组

    js for循环遍历问题,如何判断每个数组

  • input 使用v-model 传值后小数不精确

    input 使用v-model 传值后小数不精确

腾讯云代理商
海外云服务器