ex1.c

来自「c programs for portioning, Fibonacci」· C语言 代码 · 共 64 行

C
64
字号
/* DIT/06/C1/0087
   Exercise 01
*/
#include<stdio.h>
int Min(int x,int y);
void PrintPartition(int t);
void DoPartition(int n,int k,int t);   
int n,k;
int Arr[100];

int main()
{
   int n;                                                                                     
    
   printf("Please Enter the number: ");
   scanf("%d", &n);
   
   if( n<0 )
      {
         printf("Invalid Number\n");
		 return -1;
      }

	DoPartition(2*n,n,0); 
}
                                                                                    

void PrintPartition(int t) 
{
     int i;

      for(i=1; i<=t; i++)
        {
		printf("%d ", Arr[i]);
        }

      printf("\n");
}

void DoPartition(int n, int k, int t) 
{
     int j;
     Arr[t] = k;
     
     if (n==k)
         PrintPartition(t);
		
     for (j=Min(k,n-k); j>=1; j--)
        {	
            DoPartition(n-k,j,t+1);
        }
	
}

int Min(int x,int y) 
{
    if (x<y) 
        return x;
    else
        return y;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?