找到 34423 篇文章,关于编程

C++中求解和方程的非负整数解个数

Hafeezul Kareem
更新于 2021年10月26日 18:32:38

169 次浏览

在本教程中,我们将编写一个程序来查找和方程的非负整数解的个数。和方程为 x + y + z = n。给定数字 n,您需要找到该方程的解的个数。让我们来看一个例子。输入 2 输出 6 解为 0 0 2, 0 1 1, 0 2 0, 1 0 1, 1 1 0, 2 0 0算法初始化数字 m。将计数初始化为 0。编写三个嵌套循环以获得三个数字的所有组合。检查方程的有效性。如果当前数字满足方程,则递增…… 阅读更多

C++中N叉树中大于给定值的节点个数

Hafeezul Kareem
更新于 2021年10月26日 18:25:17

306 次浏览

给定一棵 N 叉树和一个数字,我们必须计算大于给定数字的节点个数。让我们来看一个例子。输入 tree = [[4], [1, 2], [3, 5]] n = 2 输出 3 有 3 个节点的值大于 n。算法初始化 N 叉树。将计数初始化为 0。当您找到一个值大于 n 的节点时,将计数加 1。获取当前节点的子节点。迭代所有子节点并递归调用相同函数以计算节点。返回计数。实现以下是 C++ 中上述算法的实现 #include using namespace std; struct ... 阅读更多

C++中右侧 NGE 的个数

Hafeezul Kareem
更新于 2021年10月26日 15:27:07

347 次浏览

给定一个数组和目标元素的索引。我们必须计算其右侧大于给定元素的元素个数。让我们来看一个例子。输入 arr = [2, 3, 5, 1, 4, 2, 6] index = 3 输出 3 目标索引元素为 1。在其右侧有三个元素,即 4、2、6 大于 1。算法初始化数组和目标元素的索引。如果索引大于或等于数组的长度,则返回 -1。编写一个循环,从给定索引的下一个元素开始迭代。如果当前元素大于目标元素,则递增计数。返回计数。实现以下是 C++ 中上述算法的实现 #include using namespace std; int countGreaterElements(int arr[], int n, int index) { if (index >= n) { return -1; } int count = 0; for (int i = index + 1; i < n; i++) { if (arr[i] > arr[index]) { count++; } } return count; } int main() { int arr[] = {2, 3, 5, 1, 4, 2, 6}; int n = sizeof(arr) / sizeof(arr[0]); int index = 3; int result = countGreaterElements(arr, n, index); cout << result << endl; return 0; } 阅读更多

C++中n位阶梯数的个数

Hafeezul Kareem
更新于 2021年10月26日 15:21:46

143 次浏览

阶梯数是一个数字,其中连续数字之间的差为 1。给定一个表示数字个数的数字 n。您需要计算具有 n 位数字的阶梯数的总数。让我们来看一个例子。输入 2 输出 17 最低的 2 位数是 10,最高的 2 位数是 99。它们之间有 17 个阶梯数。算法初始化数字 n。将计数初始化为 0。查找 n 位数的最小数,即 pow(10, n - 1)。查找 n 位数的最大数,即 pow(10, n) - 1。编写一个循环,从... 阅读更多

C++中猜测排列所需的移动次数

Hafeezul Kareem
更新于 2021年10月26日 15:14:20

98 次浏览

给定一个数字 N,我们需要找到在最坏情况下猜测排列所需的移动次数。猜测排列所需的移动次数将为 n!。让我们来看一个例子。输入 5 输出 129 当我们有 5 个元素时,我们有 5 种猜测方式,当我们有 4 个元素时有 4 种方式,并且它一直持续到 1。算法初始化数字 n。将计数初始化为 1。编写一个循环,从 1 迭代到 n。将计数乘以当前数字。返回计数。实现以下是 C++ 中上述算法的实现 #include using namespace std; int getNumberMoves(int n) { int count = 1; for (int i = 1; i <= n; i++) { count *= i; } return count; } int main() { int n = 5; int result = getNumberMoves(n); cout << result << endl; return 0; } 阅读更多

C++中N叉树每个节点子树中的叶节点个数

Hafeezul Kareem
更新于 2021年10月26日 15:07:20

365 次浏览

在本教程中,我们将编写一个程序来查找 N 叉树中每个节点的叶节点个数。给定一个 N 叉树,我们必须找到每个子树的叶节点个数。让我们来看一个例子。输入 N = 8 tree = [[2, 3], [], [4, 5, 6], [7, 8], [], [], [], []] 输出 1->5 2->1 3->4 4->2 5->1 6->1 7->1 8->1 算法初始化您喜欢的树的 N 叉树。使用 DFS 遍历树。维护一个数组来存储每个节点的叶节点计数。递归调用后递增叶节点计数…… 阅读更多

C++中给定数字二进制表示中的前导零个数

Hafeezul Kareem
更新于 2021年10月26日 14:53:53

500 次浏览

给定一个数字,我们必须找到其二进制表示中的前导零的个数。假设总位数为 32。让我们来看一个例子。输入 5 输出 29 5 的二进制表示为 00000...00101。前导零的个数为 29。算法初始化数字 n。查找 n 的二进制表示。从总位数(即 32)中减去 n 的二进制表示的长度。返回结果。实现以下是 C++ 中上述算法的实现 #include using namespace std; int getLeadingZeroesCount(unsigned int n) { int totalBits = sizeof(n) * 8; string binary = ""; while (n) { binary = (n % 2 == 0 ? "0" : "1") + binary; n /= 2; } int leadingZeroes = totalBits - binary.length(); return leadingZeroes; } int main() { unsigned int n = 5; int result = getLeadingZeroesCount(n); cout << result << endl; return 0; } 阅读更多

C++中字符串右侧较大元素的个数

Hafeezul Kareem
更新于 2021年10月26日 14:45:24

132 次浏览

给定一个字符串,我们必须计算每个字符右侧较大元素的个数。让我们来看一个例子。输入 string = "abc" 输出 2 1 0 在其右侧有 2 个大于 a 的元素。在其右侧有 1 个大于 b 的元素。在其右侧有 0 个大于 c 的元素。算法初始化字符串。初始化一个数组来跟踪计数。编写两个循环来迭代字符串。一次取一个字符,并将其与它后面的所有字符进行比较。如果当前元素大于后面的元素,则递增计数数组中相应的字符计数…… 阅读更多

C++中方程 x1 + x2 +…. + xN = k 的整数解个数

Hafeezul Kareem
更新于 2021年10月26日 14:35:40

324 次浏览

该方程的解为该方程的非负整数解的个数为 $\left(\begin{array}{c}n-k+1\ k\end{array}\right)$该方程的正整数解的个数为 $\left(\begin{array}{c}k-1\ n-1\end{array}\right)$将两者相加即可得到所需答案。让我们来看一个例子。输入 n = 4 k = 7 输出 140 算法初始化数字 n 和 k。查找非负数和正数的整数解。将两者相加。返回答案。实现以下是 C++ 中上述算法的实现 #include using namespace std; int factorial(int n) { int product = 1; for (int i = 2; i 阅读更多

C++中两点之间整数点的个数

Hafeezul Kareem
更新于 2021年10月26日 13:40:00

484 次浏览

在本教程中,我们将编写一个程序来查找给定两点之间整数点的个数。给定两点之间的点数将为 gcd(abs(x2), abs(y1-y2)) - 1。如果连接线平行于 x 轴,则整数点的个数将为 abs(y1 - y2) - 1。如果连接线平行于 y 轴,则整数点的个数将为 abs(x1 - x2) - 1。如果两点的 x 点相等,则它们平行于 x 轴。如果两点的 y 点相等,则…… 阅读更多

广告
© . All rights reserved.