檢查給定範圍內陣列元素的乘積是否為 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