----------------解决方案--------------------------------------------------------
main()
{
int i,j,n,m=1;
int num[8][8];
int sum;
for(i=1;i<7;i++)
{
n=2;
sum=i;
num[1][m]=i;printf("%d ",i);
for(j=i+1;j<=7;j++)
{
sum+=j;
if(sum<=15)
{
num[n][m]=j;printf("%d ",j);
n++;
}
else
{
m++; printf("=%d\n",sum-j);
break;
}
}
}
getch();
}
你要是只是为了输出的话,你可以把红色的部分删掉就行!
----------------解决方案--------------------------------------------------------
先谢了
----------------解决方案--------------------------------------------------------
不过 组合好象不太全 象761,753,7521之类的都没有啊!!!
----------------解决方案--------------------------------------------------------
我写的程序不对
我刚才去上课去拉
刚回来
没办法只好明天给你答案拉。。。。。。
----------------解决方案--------------------------------------------------------
main()
{
int i,j,k,m;
int num[8][93];
int sum[93],numl[8];
int nl=1;
nl=1;
numl[0]=1;
for(i=1;i<=7;i++)
{
numl[i]=numl[i-1];
while(getch()==27)exit(0);
for(k=1;k<=numl[i-1]*(i>1)-numl[i-2*(i>1)]*(i>1)+(i==1);k++)
{
for(j=num[i-(i>1)][numl[i-2*(i>1)]*(i>1)+k-1]*(i>1)+1;j<=7;j++)
{
if(j+sum[numl[i-2*(i>1)]+k-1]*(i>1)<=15)
{
for(m=1;m<=i-1;m++)
{
num[m][nl]=num[m][numl[i-2*(i>1)]+k-1];
printf("%d ",num[m][nl]);
}
num[i][nl]=j;printf("%d ",j);
sum[nl]=j+sum[numl[i-2*(i>1)]+k-1]*(i>1);printf("sum=%d \n",sum[nl]);
nl++;
numl[i]++;
}
else
break;
}
}
}
printf("OVER!");
getch();
}
靠的!
这道题是不好做
就因为少一个=忙呼了一个小时!
----------------解决方案--------------------------------------------------------
楼上的不对(结果)
----------------解决方案--------------------------------------------------------