目次
3 つの整数 a、b、n が与えられます。 (a b)^n の二項展開の項を求めます。
$\mathrm{(1 2)^3 = C(3,0)a^3b^0 C(3,1)a^2b^1 C(3,2)a^1b^2 C(3 ,3)a^0b^3}$
= 1*1*1 3*1*2 3*1*4 1*1*8
方法 1: 再帰的二項展開
例: C 実装
- 再帰呼び出しスタックにより、空間複雑度は O(n) です。
二項展開式
- ベクトルは二項項を格納するため、O(n) になります。
要約すると、二項展開の二項項を見つけるには、時間計算量が O(2^n) から O(n^2) の範囲で、上記の 2 つの方法のいずれかを使用できます。再帰メソッドよりも優れており、より最適化されています。
ホームページ バックエンド開発 C++ 二項展開系列を出力するプログラムを作成する

二項展開系列を出力するプログラムを作成する

Sep 18, 2023 pm 05:53 PM
プログラム 印刷する 二項展開

二項展開系列を出力するプログラムを作成する

二項展開は、(a b)^n の形式の式を展開するために使用される数式です。n は正の整数、a と b は任意の実数または複素数です。展開により、展開内の各項の係数が得られます。

二項展開は次のように表現できます

$$\mathrm{(a b)^n= ^nC_0a^nb^0 ^nC_1a^{n-1}b^1 ^nCa^{n-2}b^2 ... ^nC_ra^{n-r }b^r ... ^nC_na^0b^n}$$

$\mathrm{^nC_r}$ は次の式で与えられる二項係数です

$\mathrm{^nC_r=\frac{n!}{r!\times(n−r)!}}$、ここで n! n

の階乗を表します

展開を使用すると、上記の式を使用してすべての二項項を計算し、それらを展開方程式に代入できます。

###問題文###

3 つの整数 a、b、n が与えられます。 (a b)^n の二項展開の項を求めます。

例 例 1

######入力 -###### リーリー

出力 -

リーリー 説明

の中国語訳は次のとおりです:

説明 二項展開 (1 2)^3 は次のとおりです

$\mathrm{(1 2)^3 = C(3,0)a^3b^0 C(3,1)a^2b^1 C(3,2)a^1b^2 C(3 ,3)a^0b^3}$

= 1*1*1 3*1*2 3*1*4 1*1*8

したがって、[1, 6, 12, 8] は二項展開の項です。

例 例 2

######入力 -###### リーリー

出力 -

リーリー

方法 1: 再帰的二項展開

二項展開式 を使用します。 $$\mathrm{(a b)^n= ^nC_0a^nb^0 ^nC_1a^{n-1}b^1 ^nCa^{n-2}b^2 ... ^nC_ra^{n-r }b^r ... ^nC_na^0b^n}$$

二項係数を再帰的に計算することで、各項の値を見つけることができます。 疑似コード

リーリー

例: C 実装

次のプログラムでは、binomialCoeff() 関数は r 番目の二項係数の値を再帰的に計算し、binomialTerms() 関数は展開内の二項項の値を計算します。

リーリー ###出力### リーリー

時間計算量

- O(2^n)。 binomialCoeff() 関数の時間計算量は O(2^n (再帰ツリーと binomialTerms() の 2^n ノードのため)ネストされたループは binomialCoeff() n を 1 回呼び出すため、関数の複雑さは O(n^2) です。したがって、全体的な複雑さは O(2^n) になります。

空間複雑度

- 再帰呼び出しスタックにより、空間複雑度は O(n) です。

方法 2: 反復二項展開

二項展開式

を使用します。

$$\mathrm{(a b)^n= ^nC_0a^nb^0 ^nC_1a^{n-1}b^1 ^nCa^{n-2}b^2 ... ^nC_ra^{n-r }b^r ... ^nC_na^0b^n}$$ 反復と除算を組み合わせることで、この展開の各項の値を求めることができます。

2 つの関数を作成します。最初の関数は二項係数を計算し、2 番目の関数は a と b のべき乗を乗算して目的の二項項を取得します。 疑似コード

リーリー

例: C 実装

次のプログラムでは、binomialCoeff() 関数は r 番目の二項係数を計算し、binomialTerms() 関数は、a、b、および n が与えられた場合の二項展開のすべての項を計算します。

リーリー ###出力### リーリー

時間計算量

- O(n^2)、binomialCoeff() 関数の時間計算量は O(r)、r は r と n-r および binomialTerms() の小さい方です。ネストされたループにより binomialCoeff() n を 1 回呼び出し、複雑さは O(n^2) です。したがって、全体的な複雑さは O(n^2) になります。

空間複雑度

- ベクトルは二項項を格納するため、O(n) になります。

###結論は###

要約すると、二項展開の二項項を見つけるには、時間計算量が O(2^n) から O(n^2) の範囲で、上記の 2 つの方法のいずれかを使用できます。再帰メソッドよりも優れており、より最適化されています。

以上が二項展開系列を出力するプログラムを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GoogleマップをiPhoneのデフォルト地図にする方法 GoogleマップをiPhoneのデフォルト地図にする方法 Apr 17, 2024 pm 07:34 PM

iPhone のデフォルトの地図は、Apple 独自の地理位置情報プロバイダーである Maps です。マップは改善されていますが、米国外ではうまく機能しません。 Googleマップと比べて何も提供するものはありません。この記事では、Google マップを iPhone のデフォルトの地図として使用するための実行可能な手順について説明します。 Google マップを iPhone のデフォルトの地図にする方法 Google マップを携帯電話のデフォルトの地図アプリとして設定するのは、思っているよりも簡単です。以下の手順に従ってください – 前提条件 – 携帯電話に Gmail がインストールされている必要があります。ステップ 1 – AppStore を開きます。ステップ 2 – 「Gmail」を検索します。ステップ 3 – Gmail アプリの横にある をクリックします

Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Mar 21, 2024 am 09:50 AM

印刷が必要なファイルを開いたときに、印刷プレビューで表の枠線が何らかの原因で消えてしまった場合は、早めに対処する必要があります。 file このような質問がある場合は、エディターに参加して次のコースを学習してください: Excel で表を印刷するときに枠線が消えた場合はどうすればよいですか? 1. 次の図に示すように、印刷する必要があるファイルを開きます。 2. 以下の図に示すように、必要なコンテンツ領域をすべて選択します。 3. 以下の図に示すように、マウスを右クリックして「セルの書式設定」オプションを選択します。 4. 以下の図に示すように、ウィンドウの上部にある「境界線」オプションをクリックします。 5. 下図に示すように、左側の線種で細い実線パターンを選択します。 6.「外枠」を選択します

メモリまたはディスク容量が不足しているため、このドキュメントのページを変更または印刷できません。Word エラーです。 メモリまたはディスク容量が不足しているため、このドキュメントのページを変更または印刷できません。Word エラーです。 Feb 19, 2024 pm 07:15 PM

この記事では、Microsoft Word で文書を再ページしたり印刷したりするときにメモリまたはディスク容量が不足する問題を解決する方法を紹介します。このエラーは通常、ユーザーが Word 文書を印刷しようとしたときに発生します。同様のエラーが発生した場合は、この記事に記載されている解決策を参照してください。この文書を再ページまたは印刷するにはメモリまたはディスク容量が不足しています。 Word エラー Microsoft Word の印刷エラー「文書を再ページまたは印刷するには、メモリまたはディスク容量が不足しています。」を解決する方法。 Microsoft Office を更新する メモリを大量に消費するアプリケーションを閉じる 通常使うプリンタを変更する Word をセーフ モードで起動する NorMal.dotm ファイルの名前を変更する Word ファイルを別のファイルとして保存する

iPhoneから印刷する4つの方法 iPhoneから印刷する4つの方法 Feb 02, 2024 pm 04:10 PM

このデジタル世界においても、印刷されたページの必要性は消えていません。コンテンツをコンピュータに保存してプリンタに直接送信するほうが便利だと思うかもしれませんが、iPhone でも同じことができます。 iPhone のカメラを使用すると、写真やドキュメントを撮ることができ、いつでも印刷できるようにファイルを直接保存することもできます。このようにして、必要な情報を迅速かつ簡単に具体化し、紙の文書に保存できます。仕事中でも日常生活でも、iPhone はポータブルな印刷ソリューションを提供します。次の投稿は、iPhone を使用してページをプリンタで印刷する場合に知っておくべきことをすべて理解するのに役立ちます。 iPhone から印刷する: Apple に問い合わせる

Windows 11/10でスニッピングツールから印刷できない Windows 11/10でスニッピングツールから印刷できない Feb 19, 2024 am 11:39 AM

Windows 11/10 で Snipping Tool を使用して印刷できない場合は、システム ファイルの破損またはドライバーの問題が原因である可能性があります。この記事では、この問題の解決策を紹介します。 Windows 11/10 で Snipping Tool から印刷できない Windows 11/10 で Snipping Tool から印刷できない場合は、次の修正を使用します。 PC プリンタを再起動する 印刷キューをクリアする プリンタとグラフィックス ドライバを更新する Snipping Tool を修正またはリセットする SFC を実行し、 DISM スキャンは PowerShell コマンドを使用して Snipping Tool をアンインストールおよび再インストールします。始めましょう。 1] PC とプリンターを再起動します。 PC とプリンターを再起動すると、一時的な不具合を解消できます。

Windows 11で印刷を一時停止する方法 Windows 11で印刷を一時停止する方法 Feb 19, 2024 am 11:50 AM

間違って大きなファイルを印刷してしまったのでしょうか?インクと用紙を節約するために印刷を停止または一時停止する必要がありますか? Windows 11 デバイスで進行中の印刷ジョブを一時停止する必要がある状況は数多くあります。 Windows 11 で印刷を一時停止するにはどうすればよいですか? Windows 11 では、印刷を一時停止すると印刷ジョブは一時停止されますが、印刷タスクはキャンセルされません。これにより、ユーザーはより柔軟な制御が可能になります。これを行うには、次の 3 つの方法があります。 タスクバーを使用して印刷を一時停止する Windows の設定を使用して印刷を一時停止する コントロール パネルを使用して印刷する それでは、これらを詳しく見てみましょう。 1] タスクバーを使用して印刷する タスクバーの印刷キュー通知を右クリックします。クリックすると、アクティブなプリンター オプションがすべて開きます。ここで、印刷ジョブを右クリックし、「すべて一時停止」を選択します。

Word の差し込み印刷で空白ページが印刷される Word の差し込み印刷で空白ページが印刷される Feb 19, 2024 pm 04:51 PM

Word を使用して差し込み印刷文書を印刷するときに空白のページが表示される場合は、この記事が役に立ちます。差し込み印刷は、個人用の文書を簡単に作成し、複数の受信者に送信できる便利な機能です。 Microsoft Word の差し込み印刷機能は、ユーザーが受信者ごとに同じコンテンツを手動でコピーする時間を節約できるため、高く評価されています。差し込み文書を印刷するには、[差し込み文書] タブに移動します。しかし、一部の Word ユーザーは、差し込み文書を印刷しようとすると、プリンターで空白のページが印刷されたり、まったく印刷されなかったりすると報告しています。これは、間違ったフォーマットまたはプリンター設定が原因である可能性があります。文書とプリンターの設定を確認し、印刷前に必ず文書をプレビューして内容が正しいことを確認してください。もし

C++ で簡単なカウントダウン プログラムを作成するにはどうすればよいですか? C++ で簡単なカウントダウン プログラムを作成するにはどうすればよいですか? Nov 03, 2023 pm 01:39 PM

C++ は広く使用されているプログラミング言語で、カウントダウン プログラムを作成するのに非常に便利で実用的です。カウントダウン プログラムは、非常に正確な時間計算とカウントダウン機能を提供する一般的なアプリケーションです。この記事では、C++ を使用して簡単なカウントダウン プログラムを作成する方法を紹介します。カウントダウン プログラムを実装する鍵は、タイマーを使用して時間の経過を計算することです。 C++ では、time.h ヘッダー ファイル内の関数を使用してタイマー関数を実装できます。以下は、単純なカウントダウン プログラムのコードです。

See all articles