在这里,我们将了解如何以有效的方式生成所有小于 n 的素数。在这种方法中,我们将使用威尔逊定理。根据该定理,如果一个数 k 是素数,则 ((k - 1)! + 1) mod k 将为 0。让我们看看该算法以了解这个思路。这个思路无法在 C 或 C++ 等语言中直接使用,因为它们不支持大整数。阶乘将生成很大的数字。算法genAllPrime(n)开始 fact := 1 对于 i 从 2 到 n-1,执行 fact ... 阅读更多
在这里,我们将看到在 C 或 C++ 中使用 system() 函数的一些神奇结果。system 函数存在于 Windows、Linux 和 MAC 操作系统中。此函数用于执行可以在命令行中编写的系统命令。在这里,我们将看到 system 函数在 C 或 C++ 中的两种用法。第一个是使用 C++ 程序获取 IP 配置详细信息。示例#include #include using namespace std; int main() { system("C:\Windows\System32\ipconfig"); }输出Windows IP 配置以太网适配器本地连接: 连接特定的 DNS 后缀 . : domain.name 链接本地 IPv6 地址 . . ... 阅读更多
在这里,我们将看到一个问题,我们有 N 和基数 B。我们的任务是计算基数 B 的所有 N 位数字,而没有任何前导 0。因此,如果 N 为 2 且 B 为 2,则将有四个数字 00、01、10、11。因此,对于本节,只有两个是有效的。它们是 10、11,没有前导 0。如果基数为 B,则有 0 到 B – 1 个不同的数字。因此,可以生成 BN 个不同的 N 位值(包括前导 0)。如果第一个数字是 0m,则 ... 阅读更多
在这里,我们将看到 n 位(n 由用户给出)的所有可能的二进制数,其中每半的和相同。例如,如果数字是 10001,则 10 和 01 相同,因为它们的和相同,并且它们位于不同的半部分。在这里,我们将生成所有此类数字。算法genAllBinEqualSumHalf(n, left, right, diff)left 和 right 最初为空,diff 保存 left 和 right 之间的差值开始 如果 n 为 0,则 如果 diff 为 0,则 打印 left + right ... 阅读更多