Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Cプログラムコインチェンジ


この問題では、値nが与えられ、nルピーを変更したいと考えており、それぞれの値が1からmの範囲のコインがn個あります。そして、合計を計算する方法の総数を返す必要があります。

Input : N = 6 ; coins = {1,2,4}.
Output : 6
Explanation : The total combination that make the sum of 6
is :
{1,1,1,1,1,1} ; {1,1,1,1,2}; {1,1,2,2}; {1,1,4}; {2,2,2} ; {2,4}.

#include <stdio.h>
int coins( int S[], int m, int n ) {
   int i, j, x, y;
   int table[n+1][m];
   for (i=0; i<m; i++)
      table[0][i] = 1;
   for (i = 1; i < n+1; i++) {
      for (j = 0; j < m; j++) {
         x = (i-S[j] >= 0)? table[i - S[j]][j]: 0;
         y = (j >= 1)? table[i][j-1]: 0;
         table[i][j] = x + y;
      }
   }
   return table[n][m-1];
}
int main() {
   int arr[] = {1, 2, 3};
   int m = sizeof(arr)/sizeof(arr[0]);
   int n = 4;
   printf("The total number of combinations of coins that sum up to %d",n);
   printf(" is %d ", coins(arr, m, n));
   return 0;
}

出力

The total number of combinations of coins that sum up to 4 is 4

  1. コイン交換のためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − N枚のコインが与えられ、Sに各値が無限に供給されるように、それらのコインを変更したいと考えています。順序に関係なく、変更できる方法がいくつあるかを表示する必要があります。 動的計画法の概念を使用して問題ステートメントを解決し、時間の複雑さを軽減します。 次に、以下の実装のソリューションを見てみましょう- 例 # dynamic approach def count(S, m, n):    # base case    table = [[0 for x in

  2. WindowsPCでデフォルトのプログラムファイルのインストールディレクトリの場所を変更する

    Windows 11/10/8/7 / Vista OSでは、デフォルトで、ソフトウェアはシステムドライブ(通常はCドライブ)のProgramFilesフォルダーにインストールされます。通常のパスはWindows32ビットです。 C:\ Program Files およびWindows64ビット C:\ Program Files およびC:\ Program Files(x86)。 Microsoftが推奨します C:\ Program Files デフォルトのインストール先のフォルダー。これは、プログラムとOSのアプリケーションおよびセキュリティモデルとの間の適切な相互運用