gpt4 book ai didi

c - 如何不断检查计算出的数字是否为整数?

转载 作者:行者123 更新时间:2023-11-30 20:10:17 27 4
gpt4 key购买 nike

我想继续计算d直到它是一个整数,如果它不是整数则将数字加1,如果是则返回整数。我已经尝试过了,但我不断收到以整数形式返回的 float 。 (例如 19.4 将返回为 19,但我只想继续计算它,直到得到一个整数)。我尝试过以下代码:

int calcD(int tn, int e){
int z;
float d;
z = 1;
while (true){
d = (1+(z*tn))/e;
if (fmodf(d, 1)!= 0){
z++;
}else{
break;
}
}
return d;
}

感谢您的帮助!

最佳答案

你的问题是如何判断除法的结果是否是整数。这意味着检查分子是否是分母的倍数。这非常简单 - 找到最接近的乘数,将分母乘以它,然后看看是否得到分子。

所以:

while (true){
num = 1 + (z * tn);
d = num / e;
if (d * e != num)
z++;
}else{
break;
}

关于c - 如何不断检查计算出的数字是否为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46624816/

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