P1147 连续自然数和

来源:互联网 发布:talk是什么软件 编辑:程序博客网 时间:2024/05/22 00:30
/*题型:数段的连加连减问题注意 起点要小于M/2; */ #include<bits/stdc++.h>using namespace std;int M;int main(){    scanf("%d",&M);    for(int a=1;a<=M/2;a++){//因为a如果过了M/2那么再加的话就超过了M         int sum=a;        for(int x=1;a+x<=M;x++){            sum+=(a+x);            if(sum==M)printf("%d %d\n",a,a+x);//以x为起点,x是距离             else if(sum>M)break;        }    }    return 0;}

原创粉丝点击