C++でx^yとy^xの大きい方を検索します
この問題では、xとyの2つの数が与えられます。私たちの仕事は、 x^yとy^xの大きい方を見つけることです。
問題の説明: 問題は単純です。天気xのy乗がyのx乗よりも大きいことを確認する必要があります。
問題を理解するために例を見てみましょう。
入力: x =4、y =5
出力: 1024
説明:
x ^ y =4 ^ 5 =1024
y ^ x =5 ^ 4 =625
ソリューションアプローチ
問題の解決策は簡単です。 x^yとy^xの値を見つけて、両方の最大値を返す必要があります。
問題を解決するためのより数学的に簡単な方法があります。それはログを取ることです。だから、
x ^ y =y * log(x) 。
これらの値は簡単に計算できます。
ソリューションの動作を説明するプログラム
例
#include <bits/stdc++.h> using namespace std; int main() { double x = 3, y = 7; double ylogx = y * log(x); double xlogy = x * log(y); if(ylogx > xlogy) cout<<x<<"^"<<y; else if (ylogx < xlogy) cout<<y<<"^"<<x; else cout<<"None"; cout<<" has greater value"; return 0; }
出力
3^7 has greater value
-
C ++を使用して、AとBの間のN個の幾何平均を見つけます。
3つの整数A、B、およびNがあるとします。AとBの間のN個の幾何平均を見つける必要があります。A=2、B =32、およびN =3の場合、出力は4、8、16 タスクは単純です。等比数列にN個の要素を挿入する必要があります。ここで、AとBはそのシーケンスの最初と最後の項です。 G1、G2、…と仮定します。 Gnはn個の幾何平均です。したがって、シーケンスはA、G1、G2、…になります。 Gn、B。したがって、Bはシーケンスの(N + 2)番目の項です。したがって、これらの式を使用できます- $$ B =A * R ^ {N + 1} $$ $$ R ^ {N + 1} =\ frac {B
-
C ++を使用して、AとBの間のN算術平均を見つけます。
3つの整数A、B、およびNがあるとします。AとBの間のNの算術平均を見つける必要があります。A=20、B =32、およびN =5の場合、出力は22、24、26、28、 30 タスクは単純です。等差数列にN個の要素を挿入する必要があります。ここで、AとBはそのシーケンスの最初と最後の項です。 A1、A2、…と仮定します。 anはnの算術平均です。したがって、シーケンスはA、A1、A2、…になります。 An、B。したがって、Bはシーケンスの(N + 2)番目の項です。したがって、これらの式を使用できます- $$ B =A + \ lgroup N + 2-1 \ rgroup * d $$