|洛谷|数学|P1147 连续自然数和

来源:互联网 发布:悟空理财 知乎 编辑:程序博客网 时间:2024/05/01 03:27

http://www.luogu.org/problem/show?pid=1147

利用了数学公式求等差数列之和公式(s1+sn)*n/2

#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define ms(i,j) memset(i,j, sizeof i);using namespace std;int main(){    int n;    scanf("%d", &n);    for (int i=1;i<=2000000;i++)    for (int j=i+1;j<=2000000;j++)    {        int s = (i+j)*(j-i+1)/2;        if (s==n) printf("%d %d\n", i,j);        if (s>n) break;    }    return 0;}



0 0