gpt4 book ai didi

algorithm - 半条命。需要帮助设计算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:39 25 4
gpt4 key购买 nike

输入:

x - how many days patient was taking a substance
y - how many miligrams per day
z - what's the half-life of the substance in hours

输出:

a - for how many hours substance will stay in patient's body
(Let's assume that below y/200 threshold we say it's gone).

编辑:到目前为止,我所尝试的是不正确的。开始了:

public static int computeEliminationTime(int days, double dosage, int half_life) {
double saturation = 0.0d;
double threshold = dosage/200.0d;
boolean isHeStillTakingMedicine = true;
for (int hours = 0;; hours++) {
if (isHeStillTakingMedicine) {
if (hours % 24 == 0) {
saturation += dosage;
days--;
if (days == 0){
isHeStillTakingMedicine = false;
hours=1;
}
}
}

if (hours % half_life == 0) {
saturation /= 2.0d;
}
if (saturation < threshold) {
return hours;
}
}
}

我知道这种方法是错误的,因为物质的消除是一个连续的过程,它不会每隔几个小时发生一次。我研究了一下 exponential decay我只是不知道该怎么处理这个怪物。我的数学能力很差。

最佳答案

首先让我们看看物质在一天内衰变了多少。在 z 小时内数量减少 1/2 倍,然后在 24 小时内数量减少 q = (1/2) 24/ z = 2 -24/z 次。

现在让我们看看服用最后一剂后会有多少物质。第一剂后是 T1 = y。在第 n + 1 天,金额为 Tn+1 = Tn q + y。我们需要找到 Tx 在第 x 天的物质数量。

如果您尝试写出此递归关系的前几项,您会注意到这归结为 Tx = yq x-1 + yq < em>x-2 + ... + y。这只是一个几何级数的总和。因此,Tx = y • (1 - q x )/(1 - q)

现在我们必须找出 Tx 衰减到 y/200 需要多少时间。这是 log 2 (Tx/(y/200)) 个半衰变周期,即等于zlog2 (Tx/(y /200)) 小时。

因此,如果您替换 Tx,结果将是 a = z log2 (200 • (1 - q x)/(1 - q)) 小时,其中 q = 2 -24/z

关于algorithm - 半条命。需要帮助设计算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com