找到 34423 篇文章,关于编程

在 C++ 中检查一个数字是否具有两个相邻的置位比特

Arnab Chakraborty
更新于 2019-09-27 09:04:49

479 次浏览

在这里我们将看到,如果一个数字在其二进制表示中具有相邻的置位比特。假设数字 12 具有两个连续的 1(12 = 1100)。要检查这种类型的数字,思路非常简单。我们将数字右移 1 位,然后进行按位与运算。如果按位与运算结果非零,则必须存在一些连续的 1。示例 在线演示#include using namespace std; bool hasConsecutiveOnes(int n) {    if((n & (n >> 1)) == 1){    return true;    }else{       return false;    } } int main() {    int num = 67; //1000011    if(hasConsecutiveOnes(num)){       cout

在 C++ 中检查一个数字是否具有相同数量的置位和未置位比特

Arnab Chakraborty
更新于 2019-09-27 09:00:47

210 次浏览

在本节中,我们将检查一个数字是否具有相同数量的置位比特和未置位比特。假设存在数字 12。其二进制表示为 1100。它具有相同数量的 0 和 1。方法很简单。我们将检查数字的每个比特,如果它是 1,则增加 set_bit_count,如果它是 0,则增加 unset_bit_count。最后,如果它们相同,则返回 true,否则返回 false。示例 在线演示#include using namespace std; bool hasSameSetUnset(int n) {    int set_count = 0, unset_count = 0;    while(n){       if((n & ... 阅读更多

在 C++ 中检查一个数字是否可以写成三个连续整数的和

Arnab Chakraborty
更新于 2019-09-27 08:57:56

138 次浏览

在本节中,我们将看到一个数字是否可以表示为三个连续数字的和。假设一个数字是 27。它可以表示为 8 + 9 + 10。这可以通过两种不同的方法解决。第一种方法是朴素方法。在这种方法中,我们必须检查 i + (i + 1) + (i + 2) 是否等于数字。另一种有效的方法是检查数字是否可被 3 整除。假设一个数字 x 可以表示为三个连续的 1,则 x = (y - 1) ... 阅读更多

在 C++ 中检查一个数字是否可以表示为 2 的非零次幂的和

Arnab Chakraborty
更新于 2019-09-27 08:55:45

242 次浏览

在这里我们将看到,如果我们可以将一个数字表示为两个非零 2 的次幂的和。因此,我们将检查给定的数字 N 是否可以表示为 (2x + 2y),其中 x、y > 0。假设一个数字是 10,它可以表示为 23 + 21。方法很简单。有两种情况。如果数字 n 是偶数,它可以表示为 2x。其中 x > 0。另一种情况是,如果 N 是奇数,它永远不能表示为 2 的次幂的和。我们不能使用 0 作为幂,所以 ... 阅读更多

在 C++ 中检查一个数字是否可以表示为两个三角形数的和

Arnab Chakraborty
更新于 2019-09-27 08:39:47

129 次浏览

在本节中,我们将看到我们是否可以将一个数字表示为两个三角形数的和。三角形数如下所示:从示例中,我们可以看到 1、3、6、10 是一些三角形数。我们需要将一个数字 N(例如 16)表示为两个三角形数(6、10)的和。方法非常简单。我们必须获取所有小于 N 的三角形数。从这些值中形成一个集合。现在,我们必须从集合中取一个数字 X,并检查 N – X 是否存在于 ... 阅读更多

在 C++ 中检查一个数字是否可以表示为 x^y(x 的 y 次幂)

Arnab Chakraborty
更新于 2019-09-27 08:36:29

157 次浏览

在这里,我们将检查我们是否可以将一个数字表示为幂,例如 xy 还是否。假设存在一个数字 125。它可以表示为 53。另一个数字 91 不能表示为某个整数值的幂。算法isRepresentPower(num):开始    如果 num = 1,则返回 true    对于 i := 2,i2

在 C++ 中检查一个数字是否可以表示为幂

Arnab Chakraborty
更新于 2019-09-27 08:33:30

146 次浏览

在这里,我们将检查我们是否可以将一个数字表示为幂,例如 ab 还是否。假设存在一个数字 125。它可以表示为 53。另一个数字 91 不能表示为某个整数值的幂。算法isRepresentPower(num):开始    如果 num = 1,则返回 true    对于 i := 2,i2

在 C++ 中检查一个数字是否可以表示为 a^b

Arnab Chakraborty
更新于 2019-09-27 08:29:51

294 次浏览

在这里,我们将检查我们是否可以将一个数字表示为 ab 还是否。假设存在一个数字 125。它可以表示为 53。另一个数字 91 不能表示为某个整数值的幂。算法isRepresentPower(num):开始    如果 num = 1,则返回 true    对于 i := 2,i2

在 C++ 中检查一个数字是否可以表示为连续数字的和

Arnab Chakraborty
更新于 2019-09-27 08:26:52

377 次浏览

在这里,我们将看到一个数字是否可以表示为两个或多个连续数字的和。假设一个数字是 12。它可以表示为 3+4+5。有一个直接且最简单的方法来解决这个问题。如果一个数字是 2 的幂,则它不能表示为一些连续数字的和。有两件事我们必须牢记。两个连续数字的和是奇数,则其中一个为奇数,另一个为偶数。第二个事实是 2n = 2(n-1) + 2(n-1)。示例 在线演示#include using namespace std; ... 阅读更多

在 C++ 中检查一个数字是否可以表示为 2^x + 2^y

Arnab Chakraborty
更新于 2019-09-27 08:24:44

111 次浏览

在这里我们将看到,如果我们可以将一个数字表示为两个非零 2 的次幂的和。因此,我们将检查给定的数字 N 是否可以表示为 (2x + 2y),其中 x、y > 0。假设一个数字是 10,它可以表示为 23 + 21。方法很简单。有两种情况。如果数字 n 是偶数,它可以表示为 2x。其中 x > 0。另一种情况是,如果 N 是奇数,它永远不能表示为 2 的次幂的和。我们不能使用 0 作为幂,所以 ... 阅读更多

广告

© . All rights reserved.