找到 34423 篇文章,主题为编程

检查点是否在C++椭圆内、外或椭圆上

Arnab Chakraborty
更新于 2019年10月22日 06:42:15

686 次浏览

假设给定一个椭圆(中心坐标 (h, k) 和半长轴 a,半短轴 b),还给定另一个点。我们需要找到该点是否在椭圆内。为了解决这个问题,我们需要针对给定点 (x, y) 求解以下方程:$$\frac{\left(x-h\right)^2}{a^2}+\frac{\left(y-k\right)^2}{b^2}\leq1$$如果结果小于 1,则该点在椭圆内,否则不在。示例 在线演示#include <cmath>#include <iostream>using namespace std; bool isInsideEllipse(int h, int k, int x, int y, int a, int b) {    int res = (pow((x - h), 2) / pow(a, 2)) + ... 阅读更多

使用基数转换方法在C++中检查一个数是否是k的幂

Arnab Chakraborty
更新于 2019年10月22日 06:39:10

155 次浏览

在这里,我们将看到一个程序,如果给定一个数字,还给定另一个值 k,我们需要检查该数字是否是 k 的幂。但是,我们需要执行基数转换方法来解决此问题。假设一个数字是 27,而 k = 3。然后通过基数转换方法,27 将为 10003。在这里,如果在更改基数后只有一个数字 1 出现,而其他数字都是 0,则该数字是 k 的幂。为了解决这个问题,我们将遵循以下步骤。步骤 −定义 flag := false当 number > ... 阅读更多

在C++中检查一个数是否为8的幂

Arnab Chakraborty
更新于 2019年10月22日 06:32:41

415 次浏览

在本节中,我们将看到如何使用一些更简单的方法来检查一个数是否为 8 的幂。如果存在一个像 4096 这样的数字,则程序将返回 true,因为它是 8 的幂。诀窍很简单。我们将计算 log8(num)。如果这是一个整数,则 n 是 8 的幂。在这里,我们将使用 tranc(n) 函数来查找双精度值的最近整数。示例 在线演示#include <cmath>#include <iostream>using namespace std; bool isPowerOfEight(int n) {    double val = log(n)/log(8); // 获取以 8 为底的 log n    return ... 阅读更多

使用C++中的位运算符检查一个数是正数、负数还是零

Arnab Chakraborty
更新于 2019年10月22日 06:28:58

2K+ 次浏览

在这里,我们将使用位运算符来检查一个数是正数、负数还是零。如果我们执行像 n >> 31 这样的移位操作,它会将每个负数转换为 -1,将其他每个数字转换为 0。如果我们执行 –n >> 31,则对于正数,它将返回 -1。当我们对 0 进行操作时,n >> 31 和 –n >> 31 都返回 0。为此,我们将使用另一个公式,如下所示:1+(𝑛>>31)−(−𝑛>>31)因此,现在,如果n 为负数:1 + (-1) – 0 = 0n 为正数:1 + 0 – (-1) = 2n 为 0:... 阅读更多

在C++中不用求平方根来检查一个数是否为完全平方数

Arnab Chakraborty
更新于 2019年10月22日 06:24:50

1K+ 次浏览

假设给定一个数字,我们需要检查该数字是否为完全平方数。我们不会使用平方根运算来检查它。假设存在一个数字 1024,这是一个完全平方数,但 1000 不是完全平方数。逻辑很简单,我们必须遵循此算法才能获得结果。算法isPerfectSquare(n) −输入 − 数字 n输出 − 如果数字是完全平方数,则为 true,否则为 false开始    对于 i := 1,i2 ≤ n,i 增加 1:      如果 n 可被 i 整除,并且 n ... 阅读更多

在C++中检查一个数是否为回文数

Arnab Chakraborty
更新于 2019年10月22日 06:53:53

610 次浏览

在这里,我们将看到如何检查一个数是否为回文数。回文数在两个方向上都是相同的。例如,数字 12321 是回文数,但 12345 不是回文数。逻辑非常直接。我们必须反转数字,如果反转后的数字与实际数字相同,则它是回文数,否则不是。让我们看看算法以更好地了解。算法isPalindrome(n) −输入 − 数字 n输出 − 如果数字是回文数,则为 true,否则为 false开始    temp := n    rev := ... 阅读更多

在C++中不用 / 和 % 运算符检查一个数是否为 5 的倍数

Arnab Chakraborty
更新于 2019年10月22日 06:13:52

658 次浏览

在这里,我们将看到如何检查一个数是否能被 5 整除。一种简单的方法是,如果数字模 5 = 0,则该数字能被 5 整除。但在这里,我们不会使用 / 或 % 运算符。要检查一个数是否能被 5 整除,我们必须查看最后一个数字是 0 还是 5。如果是 0 或 5,则该数字能被 5 整除,否则不能。在这里,我们还可以使用一些大数字作为字符串进行检查。示例#include <iostream>using namespace std; bool isDiv5(string num){    int ... 阅读更多

在C++中检查一个数是否为杂乱数

Arnab Chakraborty
更新于 2019年10月22日 06:12:01

367 次浏览

在这里,我们将看到一个有趣的问题,即如何检查一个数是否为杂乱数。如果每个数字的相邻数字最多相差 1,则称该数字为杂乱数。例如,数字 1223 是杂乱数,但 1256 不是杂乱数。为了解决这个问题,我们必须检查一个数字是否有一个相邻数字的差值大于 1。如果找到这样的数字,则返回 false,否则返回 true。示例 在线演示#include <iostream>#include <algorithm>using namespace std; bool isJumbled(int number) {    if (number / 10 == 0) // 对于一位数,它总是... 阅读更多

在C++中检查一个数是否在给定的基数中

Arnab Chakraborty
更新于 2019年10月22日 06:06:27

175 次浏览

假设我们有一个数字字符串,我们需要找到该数字是否为给定的基数 B?如果字符串是“101110”,b = 2,则程序将返回 true。如果字符串是“A8F”,基数是 16,它将为 true。方法很简单。如果所有字符都在给定基数的符号范围内,则返回 true,否则返回 false。示例 在线演示#include <iostream>using namespace std; bool inGivenBase(string s, int base) {    if (base > 16) // 程序最多可以处理基数 16       return false;       ... 阅读更多

在C++中检查大小为n的给定数组是否可以表示n级的BST

Arnab Chakraborty
更新于 2019年10月21日 14:31:49

52 次浏览

我们有一个数组 A,我们需要检查该数组是否可以表示一个 n 级 BST。由于级别是,我们可以如下方式构造一棵树。假设一个数字是 k,大于 k 的值移到右侧,小于 k 的值移到左侧。假设有两个列表:{50, 20, 9, 25, 10} 和 {50, 30, 20, 25, 10}第一个列表无效,但第二个列表有效。为了检查这一点,我们可以创建 BST 并检查高度,或者使用基于数组的方法。该... 阅读更多

广告
© . All rights reserved.