Tom*_*eit 3 c++ double arithmetic-expressions factorial
((num / i) % 1 == 0)当num是double时,为什么不能在C++中工作?我将如何编写此代码,通过检查是否留下余数(等等0.3333)来检查因子.
int getFactorials (double num)
{
int total = 0; // if (total / 2) is equal too 'num' it is a perfect number.
for (int i = 1; i < num; i++)
{
if ((num / i) % 1 == 0)
{
cout << i << endl;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
实际上你想要做的是检查是否可n被整除,i所以你需要改变的是
if ((num / i) % 1 == 0)
Run Code Online (Sandbox Code Playgroud)
成
if (num % i == 0)
Run Code Online (Sandbox Code Playgroud)
您应该知道这很容易出错,因为您正在使用它double作为类型num.你应该用一个int代替.
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |