找到 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 for i in range 2 to n-1, do fact ... 阅读更多

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

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

322 次浏览

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

一种有效的方法来检查第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 := 空字符串 for j in range 0 to n, do ... 阅读更多

所有N位数和B进制数(无前导零)?

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

163 次浏览

在这里,我们将看到一个问题,我们有N和基数B。我们的任务是计算所有N位B进制数,且没有前导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)的那些数。换句话说,我们可以说这两个数的GCD是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之间的差值开始 if n为0,则 if diff为0,则 打印left + right ... 阅读更多

列表中的所有回文数字?

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

225 次浏览

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

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

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

296 次浏览

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

广告