找到 1356 篇文章 关于 C

获取小于 n 的所有素数的一个有趣解决方案?

Arnab Chakraborty
更新于 2020年7月2日 09:40:59

101 次查看

在这里,我们将了解如何以有效的方式生成所有小于 n 的素数。在这种方法中,我们将使用威尔逊定理。根据该定理,如果一个数 k 是素数,则 ((k - 1)! + 1) mod k 将为 0。让我们看看该算法以了解这个思路。这个思路无法在 C 或 C++ 等语言中直接使用,因为它们不支持大整数。阶乘将生成很大的数字。算法genAllPrime(n)开始    fact := 1    对于 i 从 2 到 n-1,执行       fact ... 阅读更多

生成从 1 到 n 的二进制数的一种有趣方法?

Arnab Chakraborty
更新于 2020年7月2日 09:41:31

322 次查看

在这里,我们将看到一种生成从 1 到 n 的二进制数的有趣方法。这里我们使用队列。最初,队列将包含第一个二进制数“1”。现在,重复从队列中删除元素,并打印它,并在队首元素的末尾追加 0,并在队首元素的末尾追加 1,并将它们插入队列。让我们看看该算法以了解这个思路。算法genBinaryNumbers(n)开始    定义空队列。    将 1 插入队列    当 n 不为 0 时,执行       从队列中删除元素并将其存储 ... 阅读更多

检查第 n 个斐波那契数是否为 10 的倍数的有效方法?

Arnab Chakraborty
更新于 2019年7月31日 13:20:58

184 次查看

在这里,我们将看到一种有效的方法来检查第 n 个斐波那契项是否为 10 的倍数。假设斐波那契项为 {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987}。因此,这里第 15 个(从 0 开始计数)斐波那契项可以被 10 整除。对于 16,它将返回 true。一种最简单的方法是生成直到给定项的斐波那契数,并检查它是否可以被 10 整除?但是这个解决方案不好,因为它不适用于较大的项。另一种好的方法如下所示 -斐波那契项 ... 阅读更多

C/C++ 中 system() 的神奇用法?

Arnab Chakraborty
更新于 2019年7月31日 13:18:06

792 次查看

在这里,我们将看到在 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 地址 . . ... 阅读更多

从给定字符串中可以形成的任意长度的所有可能的字符串?

Arnab Chakraborty
更新于 2019年7月31日 13:14:53

610 次查看

在本节中,我们将了解如何生成任意长度的所有可能的字符串,这将采用字符的每个组合来生成字符串。例如,如果字符串是 ABC,则它将生成 - {A, B, C, AB, BA, BC, CB, CA, AC, ABC, ACB, BAC, BCA, CAB, CBA}让我们看看示例以了解这个思路。算法printAllString(str)开始    n := 字符串 str 的长度    count 为 2^n – 1    对于每个数字 0 到 count,执行       sub_str := 空字符串       对于 j 从 0 到 n,执行 ... 阅读更多

N 位和基数 B 的所有可能的数字,没有前导零?

Arnab Chakraborty
更新于 2019年7月31日 13:11:26

163 次查看

在这里,我们将看到一个问题,我们有 N 和基数 B。我们的任务是计算基数 B 的所有 N 位数字,而没有任何前导 0。因此,如果 N 为 2 且 B 为 2,则将有四个数字 00、01、10、11。因此,对于本节,只有两个是有效的。它们是 10、11,没有前导 0。如果基数为 B,则有 0 到 B – 1 个不同的数字。因此,可以生成 BN 个不同的 N 位值(包括前导 0)。如果第一个数字是 0m,则 ... 阅读更多

范围 [L, R] 内的所有可能的互质的不同元素对?

Arnab Chakraborty
更新于 2019年7月31日 13:08:45

212 次查看

在这里,我们将了解如何计算范围内的互质对的数量,其中一个数字不会出现在单个对中超过一次。在讨论逻辑之前,让我们看看什么是互质数?互质数是指只有一个正整数除数(即 1)的数字。换句话说,我们可以说这两个数字的最大公约数是 1。这里我们提供下限和上限。如果下限和上限是 1 和 6,则有三个对。它们是 (1, 2)、(3, 4) 和 (5, 6)该方法用于 ... 阅读更多

长度为 n 的所有可能的二进制数,其两半的和相等?

Arnab Chakraborty
更新于 2019年7月31日 13:06:08

190 次查看

在这里,我们将看到 n 位(n 由用户给出)的所有可能的二进制数,其中每半的和相同。例如,如果数字是 10001,则 10 和 01 相同,因为它们的和相同,并且它们位于不同的半部分。在这里,我们将生成所有此类数字。算法genAllBinEqualSumHalf(n, left, right, diff)left 和 right 最初为空,diff 保存 left 和 right 之间的差值开始    如果 n 为 0,则       如果 diff 为 0,则          打印 left + right       ... 阅读更多

列表中的所有回文数字?

Arnab Chakraborty
更新于 2019年7月31日 13:00:48

225 次查看

在这里,我们将看到一个简单的问题。我们必须在给定的列表中找到所有本质上是回文的数字。该方法很简单,从列表中获取每个数字并检查它是否为回文,然后打印该数字。算法getAllPalindrome(arr, n)开始    对于 arr 中的每个元素 e,执行       如果 e 是回文,则          打印 e       结束 if    完成结束示例#include #include using namespace std; bool isPalindrome(int n){    int reverse = 0, t;    t = n;    当 (t != 0) 时 {       ... 阅读更多

用链表表示的两个数字相加?

Arnab Chakraborty
更新于 2019年7月31日 12:58:13

296 次查看

在这里,我们将了解如何将存储在单独链表中的两个数字相加。在链表中,存储数字的每个数字。如果数字是 512,则它将按如下方式存储 -512 = (5)-->(1)-->(2)-->NULL我们提供了两个此类列表,我们的任务是将它们相加并在计算总和后获得结果。这里我们使用 C++ STL 链表。让我们看看该算法以获得更好的思路。算法addListNumbers(l1, l2)开始    通过在较小的一个中添加前导 0 来调整 l1 和 l2 的长度    carry := 0   ... 阅读更多

广告