P1147 连续自然数和

xiaoxiao2021-02-28  8

/* 题型:数段的连加连减问题 注意 起点要小于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; }
转载请注明原文地址: https://www.6miu.com/read-1100296.html

最新回复(0)