检查给定范围内数组元素的乘积是否为 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’ 变量中。
之后,我们声明双精度数据类型的 ‘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
// represents the power of base value
int prod = 1;
// it will mutiple to arr[i]
for (int i = 0; i < n; i++) {
prod *= arr[i];
// mutiply all the array element and store to prod (18*2*6 = 216)
}
double find_base = pow (prod, 1.0 / m);
int base_value = round (find_base);
// output = 6
if (pow ( base_value , m) == prod)
// pow( 6 , 3 ) == 216 and 6 power 3 is 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.
结论
我们探讨了数组的乘积范围的概念,以验证数字是否为 M 次根。我们看到了数组范围的其他倍数的不同形式如何以立方体的形式出现,并且还看到了此程序中 range() 和 pow() 函数的区别。立方根的真实示例是查找立方体的边长。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP