检查给定范围内的数组元素的乘积是否为 M 次方根

c++server side programmingprogramming

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.


相关文章