与えられた条件からのインジケーター確率変数から関数を計算するPythonプログラム
したがって、入力がk =1 n =1000のような場合、出力は1996/3になります
これを解決するには、次の手順に従います-
- 関数exp_factor()を定義します。これにはn、kがかかります
- kが1と同じ場合、
- return(2 *(n-2)、3)
- それ以外の場合、kが2と同じ場合、
- リターン(40 * n ^ 2 -144 * n + 131、90)
- それ以外の場合、kが3と同じ場合、
- リターン(280 * n ^ 3-1344 * n ^ 2 + 2063 * n -1038,945)
- それ以外の場合、kが4と同じ場合、
- return(2800 * n ^ 4-15680 * n ^ 3 + 28844 * n ^ 2-19288 * n + 4263、14175)
- それ以外の場合、kが5と同じ場合、
- return(12320 * n ^ 5-73920 * n ^ 4 + 130328 * n ^ 3-29568 * n ^ 2-64150 * n -5124、93555)
- 1.0を返す
- メインの方法から、次の手順を実行します-
- M:=n-2
- p:=2.0 / 3
- q:=1-p
- (num、den):=exp_factor(n、k)
- g:=gcd(num、den)
- 小数部(num / g)/(den / g)を返す
例
理解を深めるために、次の実装を見てみましょう-
from math import gcd def exp_factor(n,k): if k == 1: return (2*(n-2),3) elif k == 2: return (40*n**2 -144*n + 131,90) elif k == 3: return (280*n**3 - 1344*n**2 +2063*n -1038,945) elif k == 4: return (2800*n**4 - 15680*n**3 + 28844*n**2 - 19288*n + 4263, 14175) elif k == 5: return (12320*n**5 - 73920*n**4 + 130328*n**3 - 29568*n**2 - 64150*n -5124, 93555) return 1.0 def solve(k, n): M = n-2 p = 2.0/3 q = 1 - p num, den = exp_factor(n,k) g = gcd(num, den) return str(int(num/g))+'/'+str(int(den/g)) k = 1 n = 1000 print(solve(k, n))
入力
1, 1000
出力
1996/3
-
n + nm + nmm ....... + n(m回)を計算するPythonプログラム。
ここで、nには正の数の値が与えられます。mはシリーズが実行されるまでの回数です。私たちの仕事はこのシリーズを計算することです。 アルゴリズム Step 1: Input n, m; Step 2: Converting the number to string. Step 3: Initializing result as number and string. Step 4: Adding remaining terms. Step 5: Concatenating the string making n, nn, nnn... Step 6: Before adding converting
-
特定の位置から「k」ビットを抽出するPythonプログラム?
この関数は、pos位置からkビットを抽出し、抽出された値を返すために使用されます。ここでは、Pythonのスライス手法を使用します。 例 Input:: number=170 K=5 Pos=2 Output=21 アルゴリズム Extractionbit(no,k,pos) /*user input number is stored in variable no, extracted bit is stored in variable k and the position of bit is pos. */ Step 1 : first convert the num