一个正整数有可能可以被表示为 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 展开
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 展开
2个回答
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);
}
//===
#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;
}
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询