📄 ex1.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -