简单数学问题——连续自然数和

来源:互联网 发布:新理念外语网络第一册 编辑:程序博客网 时间:2024/06/13 21:51

洛谷 P1147 连续自然数和
题目描述
对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。

例子:1998+1999+2000+2001+2002 = 10000,所以从1998到2002的一个自然数段为M=10000的一个解。

分析
数据弱,因此可用枚举法双重循环(m≤2000000)

#include <iostream>#include <cstdio>using namespace std;int i,j,n,sum; int main(){    scanf("%d",&n);    for (i=1;i<=n-1;i++)    {        sum=i;        for (j=i+1;j<=n;j++)        {            sum=sum+j;            if (sum==n)            {                printf("%d %d\n",i,j);                break;            }            if (sum>n) break;        }    }    return(0);}
0 0
原创粉丝点击