485 次浏览
在这里,我们将了解C++中sizeof和alignof运算符的区别。alignof()运算符是在C++11中引入的。alignof()运算符用于获取以字节为单位的对齐方式。它需要类型的实例,类型可以是完整类型或引用类型。还有一个名为sizeof()的运算符,它返回一种类型的尺寸。对于普通数据类型,sizeof和alignof返回相同的值。对于某些用户定义的数据类型,alignof返回不同的值。让我们来看一个例子来了解一下。示例 在线演示#include using namespace std; struct ... 阅读更多
430 次浏览
在这里,我们将看到一个问题,我们将添加两个n位数字,但不会进行进位。我们可以通过一个例子来理解这个概念——所以我们可以看到,这里只有数字相加,结果放在最后。这里有一个技巧。我们必须从右到左扫描数字。所以3+2 = 6的和将首先计算,但它将放在最后。所以我们将使用栈来存储中间结果。算法noPropagateCarry(a, b)begin size = a和b长度的最大值 ... 阅读更多
198 次浏览
在这里,我们将看到如何计算数组乘积除以n后的余数。数组和n的值由用户提供。假设数组是这样的{12, 35, 69, 74, 165, 54},那么乘积将是(12 * 35 * 69 * 74 * 165 * 54) = 19107673200。现在如果我们想得到除以47后的余数,它将是14。正如我们所看到的,这个问题很简单。我们可以很容易地将元素相乘,然后使用模运算符得到结果。 ... 阅读更多
540 次浏览
在本节中,我们将看到如何高效地获得一个数字的唯一质因数的乘积。假设有一个数字n = 1092,我们必须得到它的唯一质因数的乘积。1092的质因数是2, 2, 3, 7, 13。所以唯一的质因数是{2, 3, 7, 13},乘积是546。为了解决这个问题,我们必须遵循以下规则:当数字能被2整除时,将2乘以乘积,并重复地将数字除以2,然后下一个2s将… 阅读更多
409 次浏览
在这里,我们将看到砖块排序是如何工作的。砖块排序是冒泡排序的一种修改。该算法分为两部分。这两部分是奇数部分和偶数部分。在奇数部分,我们将对奇数索引的项使用冒泡排序,在偶数部分,我们将对偶数索引的元素使用冒泡排序。让我们看看算法来了解一下。算法brickSort(arr, n)begin flag := false 当flag不为真时,执行 flag := true for i := 1 to n-2, increase ... 阅读更多
118 次浏览
在这里,我们将看到如何使用C或C++程序查找抛物线的顶点、焦点和准线。为了得到这些参数,我们需要抛物线的通用方程。通用公式是:−𝑦 = 𝑎𝑥2 + 𝑏𝑥 + 𝑐a、b和c的值是给定的。顶点公式:焦点公式:准线公式:y −示例 在线演示#include using namespace std; void getParabolaDetails(float a, float b, float c) { cout
117 次浏览
在本节中,我们将看到如何计算绝对值不同的元素有多少个?假设在一个数组中有一些元素,例如{5, 5, 6, -5, 8, 2, -2, 1},所以有8个元素。但是有5个元素{5, 6, 8, 2, 1}是不同的。-5和5不被认为是不同的,因为它们的绝对值相同。为了解决这个问题,我们将使用Set数据结构。在Set中不允许重复元素。当我们将项目插入到Set中时,我们只推送… 阅读更多
159 次浏览
在这里,我们将看到如何找到数组中所有质数和所有非质数之和的绝对差。为了解决这个问题,我们必须检查一个数是否是质数。一种可能的素性测试方法是检查一个数是否不能被2到该数平方根之间的任何数整除。所以这个过程将花费𝑂(√𝑛)的时间。然后得到总和并尝试找到绝对差。算法diffPrimeNonPrimeSum(arr)begin sum_p := arr中所有质数的和 sum_np := … 阅读更多
148 次浏览
在这里,我们将看到如何找到数组中所有质数和所有非质数之积的绝对差。为了解决这个问题,我们必须检查一个数是否是质数。一种可能的素性测试方法是检查一个数是否不能被2到该数平方根之间的任何数整除。所以这个过程将花费𝑂(√𝑛)的时间。然后得到乘积并尝试找到绝对差。算法diffPrimeNonPrimeProd(arr)begin prod_p := arr中所有质数的乘积 prod_np := … 阅读更多
383 次浏览
在这里,我们将看到如何得到数字N的前X位和后X位的差。数字和X是给定的。为了解决这个问题,我们必须找到数字的长度,然后使用模运算符截取最后x位数字。之后,截取除前x位数字之外的所有数字。然后得到差值,并返回结果。假设数字是N = 568424。X是2,所以前两位数字是56,最后两位数字是24。差值是(56 - 24) = 32。算法diffFirstLastDigits(N, X)begin ... 阅读更多