99 次查看
考虑穿过斜率为 -1 的直线的节点。二叉树的对角线和将通过计算这些参考线之间存在的所以节点数据的总和来计算。让我们首先定义一个结构体,该结构体将表示一个树节点,其中包含数据及其左右子节点。如果这是第一个创建的节点,则它是根节点,否则是子节点。struct Node { int data; struct Node *leftChild, *rightChild; };接下来,我们创建 createNode(int data) 函数,该函数接受一个 int 值并... 阅读更多
88 次查看
要找到正五边形对角线的长度,我们将边值代入 (1+√5)side/2 = (1+2.24)side/2。示例让我们看看以下实现,以根据其边获取正七边形的对角线 - 实时演示#include using namespace std; int main(){ float side = 5; if (side < 0) return -1; float diagonal = (1+2.24) *(side/2); cout
110 次查看
正六边形由六个等边三角形组成,因此正六边形的对角线将为 2*边。示例让我们看看以下实现,以根据其边获取正七边形的对角线 - 实时演示#include using namespace std; int main(){ float side = 12; if (side < 0) return -1; float diagonal = 2*side; cout
264 次查看
使用确定性有限自动机 (DFA) 查找不以子字符串“THE”结尾的字符串。我们应该记住,任何“THE”的变体,如“tHe”、“The”、“ThE”等都不应该出现在字符串的末尾。首先,我们定义 dfa 变量并将其初始化为 0,它跟踪我们的状态。它在每个匹配的字符上递增。int dfa = 0;begin(char c) 方法接受一个字符并检查它是否为 't' 或 'T' 并进入第一个状态,即 1。void begin(char c){ if (c == 't' || c == 'T') ... 阅读更多
160 次查看
确定性有限自动机 (DFA) 用于检查数字是否可被另一个数字 k 整除。该算法很有用,因为它还可以找到数字不可被整除时的余数。在基于 DFA 的除法中,我们构建了一个具有 k 个状态的 DFA 表。我们考虑数字的二进制表示,因此 DFA 中每个状态中只有 0 和 1。createTransTable(int k, int transTable[][2]) 函数用于创建 transTable 并将状态存储在其中。它接受数字 k(数字要被其整除)和 transTable[][2](这是一个... 阅读更多
69 次查看
在 N 边形中,如果两个孩子站在 A 和 B 顶点上,则我们需要确定另一个人应该站在哪个顶点上,以便该人到达 A 和 B 都需要最少的跳跃次数。这里需要注意两个条件:多边形顶点按顺时针方向编号,如果有多个答案,我们将始终选择编号最小的顶点。vertexPosition(int sides, int vertexA, int vertexB) 获取多边形的边数以及顶点 A 和 B 的位置。该... 阅读更多
68 次查看
目标是确定给定两个端点 (x1, y1) 和 (x2, y2) 的线将穿过多少个正方形。要找到我们的线穿过的正方形数量,我们需要找到:x 点之间的差 (dx) = x2-x1,y 点之间的差 (dy) = y2-y1,加上 dx 和 dy 并减去它们的 gcd (result) = dx + dy – gcd(dx, dy)。unitSquares(int x1, int y1, int x2, int y2) 函数接受四个值 x1、y1 和 x2、y2。x2 和 x1 之间的绝对差以及... 阅读更多
1K+ 次查看
矩阵的行列式只能通过将第一行余因子乘以相应余因子的行列式并将它们加起来并交替使用符号来获得最终结果来计算方阵。$$A = \begin{bmatrix}a & b & c\d & e &f \g & h &i \ \end{bmatrix} |A| = a(ei-fh)-b(di-gf)+c(dh-eg)$$首先,我们有 determinantOfMatrix(int mat[N][N], int dimension) 函数,它接受矩阵和矩阵的维度值。如果矩阵只有一维,则它返回 [0][0] 矩阵值。此条件也用作基本条件,因为我们... 阅读更多
其数字的和与其各自位置的幂相等等于数字本身的数字称为自守数。noOfDigits(int num) 函数接受数字并通过不断地将数字除以 10 直到只剩下个位数来返回数字位数。在每次迭代中,digits 变量都会递增以跟踪数字,并在 while 循环结束后返回。int noOfDigits(int num){ int digits = 0; int temp = num; while (temp){ temp= temp/10; digits++; } return digits; }接下来,isDisarium(int ... 阅读更多
84 次查看
让我们首先定义一个结构体,该结构体将表示一个树节点,其中包含 int 键及其左右子节点。如果这是第一个创建的节点,则它是根节点,否则是子节点。struct Node { int data; struct Node *leftChild, *rightChild; };接下来,我们创建 createNode(int key) 函数,该函数接受一个 int key 值并将其分配给节点的 key 成员。该函数返回指向已创建的 struct Node 的指针。此外,新创建节点的左子节点和右子节点都设置为 null。Node* ... 阅读更多