主要是要求限制
a. 全部codes 在 main ()
b. 不能用2D-ARRAY
c. 不能用recursion
老师要求我们用 (brute force 的笨方法来做 就是用nested loop)
=======
(我不是想你们帮我做作业,, 但我真的想不到 不用recursion 不用2d-array 要怎么做。。。)
有人会做不?
要求如下:
Create a function that writes a positive integer n as the sum of positive integers.
To avoid printing the same solution multiple times,
generate only the ordered solutions, as shown below:
n = 3
1: 1 1 1
2: 1 2 // 2 1 is considered the same solution
3: 3
n = 5
1: 1 1 1 1 1
2: 1 1 1 2
3: 1 1 3
4: 1 2 2
5: 1 4
6: 2 3
7: 5
Test driver: In main() write a loop (press 0 to stop) to prompt the user for n (validation included: it must be a number, and it must be positive!) then find all ordered solutions. Once you find a solution, print it.
#include <stdio.h>
void main()
{
int n,i=0,j=0,t=0;
printf("Input the n/n");
scanf("%d",&n);
int len=n/2+1;
for(i=1;i<len;i++)
{
int k=n/i;
for(j=1;j<k+1;j++)
{
for(t=0;t<j;t++)
{
printf("%d ",i);
}
if((n-t*i)!=0)
{
printf("%d",n-t*i);
}
printf("/n");
if(n-t*i==i)
break;
}
}
printf("%d/n",n);
}