这里的 = 运算符有什么用法?
What is the usage of the = operator here?
下面是我在阶乘中查找尾随零数的解决方案,它有效,我发布它是为了了解算法的工作原理,即 n 的商之和除以 5 ^ i,其中 i>0。
#include <cmath>
long zeros(long n) {
long sum = 0;
for (int i = 1;; ++i) {
int m = n / pow(5, i);
if (m == 0)
break;
else sum += m;
}
return sum;
}
我看到了这个解决方案,它让我对=
运算符的使用感到困惑。在这种情况下,=5
意味着什么?
long zeros(long n) {
long result = 0;
while(n)
result += n/=5;
return result;
}
表达式result += n/=5
等效于先将n
的值更新为n/5
,然后将result
的值更新为result + n
n
现在n/5
的位置。
// result += n/=5 is same as doing
n = n / 5;
result = result + n;
这里的/=
类似于+=
,因为n/=5
等同于n = n/5
将值或变量分配给变量 即 m = n 表示如果 n 为 15,m 将是 n 的值,即 15
相关文章:
- 这里的 = 运算符有什么用法?
- 什么模板用法在阶乘中更好
- 访问提升:shared_ptr 主范围外崩溃,断言失败:px != 0.指针的正确用法是什么?
- 使用 MSVC 编译时,msdpb* 文件的正确用法是什么?
- 什么是"递归嵌套模板"的实际用法示例?
- 引用和指向常量的指针的用法是什么
- C++用法:" *(new int); "做什么?
- 在这个C++代码中捕获的用法是什么
- constexpr 标准函子的正确用法是什么?
- C++ &array和array的用法有什么区别?
- ./lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a 的用法是什么
- 模板中的类型名 U = equal_to<T>是什么意思?STL<T> equal_to用法
- std::forward 在参数传递中的用法是什么?
- C++14变量模板:它们的用途是什么?任何用法示例
- C++ + 运算符的这种用法叫什么?目的是什么
- Boost:创建一组线程并等待所有线程的正确习惯用法是什么
- while(1)的用法是什么
- 这种result_of用法有什么问题?
- 什么是流?以及性病的东西及其用法
- 逆方差的常见编程用法是什么?