用c语言编-从键盘输入一个自然数n,找出所有连续的自然数段全部数之和为n

问题描述:

用c语言编-从键盘输入一个自然数n,找出所有连续的自然数段全部数之和为n
【输出形式】
输出每个累加和等于n的连续的自然数段的第一个数和最后一个数,两数之间用符号~隔开,每段一行,所有行按每行的第一个数从小到大升序排列.如果没有符合条件的自然数段,则输出None.
【样例输入1】
10000
【样例输出1】
18~142
297~328
388~412
1998~2002
【样例输入2】
64
【样例输出2】
None
1个回答 分类:综合 2014-12-15

问题解答:

我来补答
#include
#include
using namespace std;
int main()
{
int m,k,n;
cin>>m;
n=0;
for(k=sqrt(2*m)+1;k>1;k--)
if ((m*2-k*(k-1))%(2*k)==0)
{n++; cout
 
 
展开全文阅读
剩余:2000