You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于总成本T和数量A计算美观化的客户总价C与单价S?

计算符合要求的客户总价C与单件单价S的公式

问题定义

已知总成本T、商品数量A,需计算满足以下条件的客户总价C和单件单价S:

  • C保留1位小数(即C为0.1的整数倍)
  • S保留2位小数(即S为0.01的整数倍)
  • 严格满足C = A × S
  • C不低于总成本T(保证覆盖成本,同时匹配示例中“调整为美观数值”的逻辑)

推导公式

步骤1:计算最大公约数

先计算商品数量A与10的最大公约数,记为d:

d = gcd(A, 10)

(gcd为最大公约数函数,例如gcd(6,10)=2,gcd(9,10)=1)

步骤2:计算最小整数t

计算满足条件的最小正整数t,使用向上取整函数ceil()(取大于等于目标值的最小整数):

t = ceil( (10 × T × d) / A )

步骤3:计算单件单价S

S = t / (10 × d)

该结果自动保留2位小数,符合要求。

步骤4:计算客户总价C

C = (A × t) / (10 × d)

该结果自动保留1位小数,符合要求,且满足C = A × S。

示例验证

以题目中给出的示例T=11、A=6为例:

  1. d = gcd(6,10) = 2
  2. t = ceil( (10×11×2)/6 ) = ceil(220/6) = ceil(36.666...) = 37
  3. S = 37/(10×2) = 37/20 = 1.85
  4. C = (6×37)/(10×2) = 222/20 = 11.1

结果完全匹配题目示例中的最终取值。

其他验证案例

  • 案例1:T=11、A=9

    1. d = gcd(9,10)=1
    2. t = ceil( (10×11×1)/9 )=ceil(110/9)=13
    3. S=13/(10×1)=1.30
    4. C=(9×13)/(10×1)=11.7
      满足所有条件:11.7=9×1.30,C保留1位小数,S保留2位小数,且11.7≥11。
  • 案例2:T=11、A=5

    1. d = gcd(5,10)=5
    2. t=ceil( (10×11×5)/5 )=ceil(110)=110
    3. S=110/(10×5)=2.20
    4. C=(5×110)/(10×5)=11.0
      刚好覆盖成本,同时满足所有格式要求。

内容的提问来源于stack exchange,提问作者Martin Fischer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:35:29