gpt4 book ai didi

c++ - # 在达到 1 之前数字可以被 2 除的次数

转载 作者:行者123 更新时间:2023-11-28 06:02:39 24 4
gpt4 key购买 nike

我正在尝试编写代码来计算整数在达到 1 之前可以被 2 除的次数。当我运行我的代码时,它会提示我输入一个数字,您将在下面的代码中看到,但是一旦我这样做,什么也没有发生,只是出现一个空白行。有谁知道我做错了什么?

 #include<iostream>
Using namespace std;
int main()
{

float x,i=0,num=0;

cout<<"please enter num:";
cin>>x;
while(x>0)
{
if(x/2>1)
num+=i;
i++;
}

cout<<"Number of times "<<x<<"is divisible by 2 is:"<<num<<endl;

return 0;
}

最佳答案

存在twp问题:

1) 你永远不会更新 x,所以你会迭代很长时间。

2) x/2>1 即使 x 不能被 2 整除。考虑使用模数进行测试

例如:

 ...
while(x>1 && fmod(x,2)==0) // sorry % is for integers only
{
num++;
x /= 2;
}

关于c++ - # 在达到 1 之前数字可以被 2 除的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32954133/

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