一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和

一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8编写程序,根据输入的任何一个正整数,找出符合这种... 一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如:

15=1+2+3+4+5
15=4+5+6
15=7+8
编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
例如,对于 15 ,其输出结果是:
1 2 3 4 5
4 5 6
7 8
对于 16 ,其输出结果是:
NONE
展开
匿名用户
2013-12-16
展开全部
//===
#include <stdio.h>
//--
void fun(int n)
{
int i,j,k,m,flag=0;
for(i=1;i<n;i++)
{
k=0;
for(j=i;j<n;j++)
{
k+=j;
if(k>=n)
break;
}
if(k==n)
{
for(m=i;m<=j;m++)
printf("%d ",m);
printf("\n");
flag=1;
}
}
if(flag==0)
printf("NONE");
}
//---
void main()
{
int n;
printf("输入一个正整数:");
scanf("%d",&n);
fun(n);
}
//===
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-16
展开全部
#include<iostream>
void PrintN(int i,int j);
using namespace std;
int main()
{
int i,n,k,temp=0,flag=0;
cout<<"Input a number for test!"<<endl;
cin>>n;
for(k=1;k<n;k++)
{
for(i=k;i<n;i++)
{
temp+=i;
if(temp==n)
{
PrintN(k,i);
++flag;
}
}
temp=0;
}
if(flag==0)
cout<<"none"<<endl;

}

void PrintN(int i,int j)
{
for(i;i<=j;i++)
cout<<i<<" ";
cout<<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式