检查给定范围内的数组元素的乘积是否为 M 次方根
M 次方根定义为任意数字的立方,数组范围表示从第一个到最后一个计数索引。我们将以数组范围内的三个数字作为输入,并查看它们的乘积值是否以立方值的形式出现,那么它将是数字的"M 次方"根。
让我们举一个例子来了解数组的乘积范围并计算数字的 M 次方根。
示例 1
给定数组整数为 9、8、3、1
现在我们看到数组 9*8*3*1 的乘积范围是 216。
因此,216 验证为 M 次方根数,数字 216 是 6 的立方。
示例 2
给定数组整数为 6、5、8
现在我们看到数组 6*5*8 的乘积范围是240。
因此,240 未被验证为 M 次方根数,并且数字 240 不是任何数字的立方。
在本文中,我们将解决给定范围内的数组元素是否为 M 次方根。
语法
pow( base_value, power_value )
此方法采用两个参数,一个用于基值,另一个用于幂值。例如,pow(4, 3.0) 表示 4 的 3.0 次方,结果为 64。
round()
此方法以整数值的形式返回舍入值。
算法
我们将使用头文件 'iostream' 和 'cmath' 启动程序。
现在我们从主函数开始,将数组值初始化为 'arr[]' 变量,并声明变量 'n' 来存储 'arr[]' 变量的大小。这两个变量都将用于查找数字的 M 次方根。
将变量 'm' 声明为 '3',表示底数的幂,并将乘积值声明为 '1',将数组前两个元素的乘积与数组中的下一个元素相乘,依此类推。
我们使用 for 循环迭代数组元素,并将所有数组元素相乘,将其存储到 'prod' 变量中。
之后,我们声明 double 数据类型的 'find_base' 变量,使用预定义函数 pow() 查找数字的底数。
为了得到舍入值,我们使用预定义函数 round() 来'base_value' 变量。
接下来,我们将创建一个 if-else 语句来检查 'pow ( base_value, m)' 和 'prod' 之间的相似性。此相似性将验证数字的乘积是否等于给定数字的立方根,并相应地打印输出。
示例
在此程序中,我们将执行给定范围内数组元素的乘积是否为 M 次方根。
#include <iostream> #include <cmath> using namespace std; int main () { int arr[] = { 18, 2, 6 }; int n = sizeof (arr) / sizeof (arr[0]); int m = 3 // 表示基数的幂 int prod = 1; // 它将乘以 arr[i] for (int i = 0; i < n; i++) { prod *= arr[i]; // 乘以所有数组元素并存储到 prod (18*2*6 = 216) } double find_base = pow (prod, 1.0 / m); int base_value = round (find_base); // 输出 = 6 if (pow ( base_value , m) == prod) // pow( 6 , 3 ) == 216 且 6 的 3 次方为 216。 { cout << prod << " , is a perfect " << m << "-th power of " << base_value <<" and Mth root of the number."<<endl; } else { cout << prod << " , This is not a perfect " << m << "-th power" << base_value <<" and not the Mth root of the number."<< endl; } return 0; }
输出
216 , is a perfect 3-th power of 6 and this is Mth root of the number.
Conclusion
We explored the concept of product ranges of the array to verify whether the number is the M-th root or not. We saw how different forms of other multiples of an array range comes in the form of a cube and also saw the difference of range() and pow() functions in this program. The real example of a cube root is finding the edge of a cube.