求救!!如何实现这个功能,请各位大侠救我!!!!高分求救!!

wjwfyl 2005-09-23 01:19:26
出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小
正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出"NONE"。
例如,对于15,
其输出结果是: 1 2 3 4 5
4 5 6
7 8
对于16,其输出结果是: NONE
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuqing0811 2005-09-23
  • 打赏
  • 举报
回复
#include <stdio.h>
int main()
{
int n;
printf("Please input n:");
scanf("%d", &n);
divid(n);
return 0;
}


divid(n)
{
int i,j;
int sum = 0;
int flag = 0;

if (n<=0)
printf("NONE\n");

for (j=1;j<n;j++)
{
sum = 0;
for ( i=j; i<n; i++)
{
sum += i;
if (sum == n)
{
int k;
for (k =j; k<=i; k++)
printf("%d ", k);
printf("\n");
flag = 1;
break;
}
if (sum > n)
break;
}

}
if (flag == 0)
printf("NONE\n");
return;
}
wjwfyl 2005-09-23
  • 打赏
  • 举报
回复
集思广义嘛嘿嘿~
大哥,说下你的思路拉~
inshua 2005-09-23
  • 打赏
  • 举报
回复
你要做的这个职业是一个孤独的职业,这种小算法应该自己思考
wjwfyl 2005-09-23
  • 打赏
  • 举报
回复
for(i<num ,i++)
{
i=i+1;
}

然后如果i=num的话就输出 1到i
不等就不输
第二列怎么办?

wjwfyl 2005-09-23
  • 打赏
  • 举报
回复
大家说下思路 谢谢拉`
wjwfyl 2005-09-23
  • 打赏
  • 举报
回复
自己顶下!
inshua 2005-09-23
  • 打赏
  • 举报
回复
建议独立思考
wjwfyl 2005-09-23
  • 打赏
  • 举报
回复
大家教下我拉~~~

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧