ホームページ データベース mysql チュートリアル 将一个整数划分为多个正整数之和

将一个整数划分为多个正整数之和

Jun 07, 2016 pm 04:03 PM
之和 複数 整数 質問

整数划分问题是将一个正整数n拆分成一组数连加并等于n的形式,显然这组数中最大加数不大于n。 令n为需要划分的整数,m为划分后的最大整数。例如将6划分为最大加数为6的划分形式如下: 65 + 14 + 2, 4 + 1 + 13 + 3, 3 + 2 +1, 3 + 1 + 1 + 12 + 2 + 2, 2 + 2

整数划分问题是将一个正整数n拆分成一组数连加并等于n的形式,显然这组数中最大加数不大于n。

令n为需要划分的整数,m为划分后的最大整数。例如将6划分为最大加数为6的划分形式如下:

6

5 + 1

4 + 2, 4 + 1 + 1

3 + 3, 3 + 2 +1, 3 + 1 + 1 + 1

2 + 2 + 2, 2 + 2+ 1 + 1, 2 + 1 + 1 + 1 + 1

1 + 1 + 1 + 1 +1 + 1
ログイン後にコピー

共11中划分方法。若划分后最大整数为2,则划分形式为最后两行,共4种划分方法。易得可利用递归方式求解,设划分函数split(int n,int m),其中n为需要划分的整数,m为划分后的最大加数。

(1) m

(2) m = 1或者n = 1时,划分方式共1中。

(3) n

(4) m=n时,划分分为两种:一种是最大加数为m-1的,共split(n, m-1)中划分方式;一种是其中一个加数为m的(当然不存在另一个加数,或者说另一个加数为0)。因此,m=n时共split(n, m-1) + 1种划分方式。

(5) m

源代码如下:

#include <stdio.h>
int split(int n, int m)
{
   if(n < 1 || m < 1) return 0;
   if(n == 1 || m == 1) return 1;
   if(n < m) return split(n, n);
   if(n == m) return (split(n, m - 1) + 1);
   if(n > m) return (split(n, m - 1) + split((n - m), m));
}
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PythonでDateTimeを整数に変換するにはどうすればよいですか? PythonでDateTimeを整数に変換するにはどうすればよいですか? Sep 05, 2023 pm 10:21 PM

日付と時刻の値の操作はプログラミングの重要な側面であり、Python 言語には datetime と呼ばれるこれに便利な組み込みモジュールが用意されています。ただし、場合によっては、特定の操作や計算を実行するために、DateTime オブジェクトを整数値に変換する必要がある場合があります。 Python で DateTime を整数に変換するには複数の方法があり、それぞれに独自の長所と短所があります。この記事では、これらの方法を詳しく見て、各方法の使用が適切な場合について検討します。この記事を読むと、Python で DateTime オブジェクトを整数に効率的に変換する方法を完全に理解し、特定のプログラミング タスクに最適な方法を選択できるようになります。方法 1: タイムスタンプを使用する

整数の正規表現とは何ですか? 整数の正規表現とは何ですか? Nov 14, 2023 pm 04:11 PM

整数の正規表現は次のとおりです: 1. 正の整数の一致: ^[1-9]\d*$; 2. 負の整数の一致: ^-[1-9]\d*$; 3. 正の整数と負の整数の一致:^-?\d+$; 4. ゼロ以外の整数の一致: ^(0|[1-9]\d*)$; 5. 整数 (ゼロを含む) の一致: ^-?\d+$。

クラスタリングアルゴリズムにおけるクラスタリング効果評価問題 クラスタリングアルゴリズムにおけるクラスタリング効果評価問題 Oct 10, 2023 pm 01:12 PM

クラスタリング アルゴリズムのクラスタリング効果評価問題には、特定のコード例が必要です クラスタリングは、データをクラスタリングすることによって、類似したサンプルを 1 つのカテゴリにグループ化する教師なし学習手法です。クラスタリングアルゴリズムでは、クラスタリングの効果をどのように評価するかが重要な問題となります。この記事では、一般的に使用されるいくつかのクラスタリング効果評価指標を紹介し、対応するコード例を示します。 1. クラスタリング効果評価指標 シルエット係数 シルエット係数は、サンプルの近さや他のクラスタとの分離度を計算することでクラスタリング効果を評価します。

iPhone の一般的な問題を診断する方法を教えます iPhone の一般的な問題を診断する方法を教えます Dec 03, 2023 am 08:15 AM

強力なパフォーマンスと多彩な機能で知られる iPhone は、複雑な電子機器によく見られる、時折起こる問題や技術的な困難を免れません。 iPhone の問題が発生するとイライラすることもありますが、通常は警報を発する必要はありません。この包括的なガイドでは、iPhone の使用に関連して最も一般的に遭遇する課題のいくつかをわかりやすく説明することを目的としています。当社の段階的なアプローチは、これらの一般的な問題の解決に役立つように設計されており、機器を最高の動作状態に戻すための実用的な解決策とトラブルシューティングのヒントを提供します。不具合やより複雑な問題に直面している場合でも、この記事はそれらを効果的に解決するのに役立ちます。一般的なトラブルシューティングのヒント 具体的なトラブルシューティング手順を詳しく説明する前に、役立つ情報をいくつか紹介します。

SharePoint に SSL 証明書をインストールしますか? SharePoint に SSL 証明書をインストールしますか? Feb 19, 2024 am 11:27 AM

SharePoint に SSL 証明書をインストールすることは、Web サイトを保護し、暗号化された接続を提供するための重要な手順です。正しいインストール手順に従うことで、Web サイト データのセキュリティを確保し、検索エンジンでのランキングを向上させ、訪問者により良いユーザー エクスペリエンスを提供できます。 SSL 証明書を取得する 信頼できる認証局 (CA) に問い合わせて、SSL 証明書を購入します。必要な認証およびドメイン所有権の検証情報を入力します。検証プロセスが完了すると、SSL 証明書ファイルを受け取ります。証明書ファイルの準備 テキスト エディタを使用して SSL 証明書ファイルを開きます。証明書の内容を新しいテキスト ファイルにコピーします。ファイルを yourdomain.cer として保存します。「yourdomain&#8221」を必ず変更してください

jQueryがform要素の値を取得できない問題の解決方法 jQueryがform要素の値を取得できない問題の解決方法 Feb 19, 2024 pm 02:01 PM

jQuery.val() が使用できない問題を解決するには、具体的なコード例が必要です フロントエンド開発者にとって、jQuery の使用は一般的な操作の 1 つです。その中でも、.val() メソッドを使用してフォーム要素の値を取得または設定する操作は、非常に一般的な操作です。ただし、特定のケースでは、.val() メソッドを使用できないという問題が発生する可能性があります。この記事では、いくつかの一般的な状況と解決策を紹介し、具体的なコード例を示します。問題の説明 jQuery を使用してフロントエンド ページを開発する場合、時々次のような問題が発生します。

弱教師学習におけるラベル取得問題 弱教師学習におけるラベル取得問題 Oct 08, 2023 am 09:18 AM

弱教師あり学習におけるラベル取得問題には、特定のコード例が必要です はじめに: 弱教師あり学習は、トレーニングに弱いラベルを使用する機械学習手法です。従来の教師あり学習とは異なり、弱教師あり学習では、各サンプルに正確なラベルが必要ではなく、より少ないラベルを使用してモデルをトレーニングするだけで済みます。しかし、弱教師あり学習では、弱いラベルから有用な情報をいかに正確に取得するかが重要な問題となります。この記事では、弱教師あり学習におけるラベル取得問題を紹介し、具体的なコード例を示します。弱教師学習におけるラベル獲得問題の紹介:

機械学習モデルの汎化能力の問題 機械学習モデルの汎化能力の問題 Oct 08, 2023 am 10:46 AM

機械学習モデルの汎化能力には特定のコード例が必要ですが、機械学習の開発と応用がますます普及するにつれて、機械学習モデルの汎化能力に対する注目が高まっています。一般化能力とは、ラベルなしデータに対する機械学習モデルの予測能力を指し、現実世界におけるモデルの適応性としても理解できます。優れた機械学習モデルは、高い汎化能力を備え、新しいデータに対して正確な予測を行うことができる必要があります。ただし、実際のアプリケーションでは、トレーニング セットでは良好なパフォーマンスを示しても、テスト セットや実際のテストでは失敗するモデルに遭遇することがよくあります。

See all articles