好久没有更新了,就不说了。。。
好,今天我就讲一道题,题
怎么做?自己想
题目说了,给定一个m,求连续几个自然数的和。一看题目标签,数学、枚举、前缀和、霜指针。m是小于等于2000000,先别看题解,因为题解太高级了,~~本蒟蒻看不懂~~。我只会枚举,其他都.....
所以不管:找规律,前缀和、还是~~蒟蒻只会的~~枚举,终究是得AC的。
先看本蒟蒻的代码-------意思
枚举1-m用i做左端点,在枚举j,哦是从i的位置往后再边看大小边加cnt,这样就能Ac。
这节有点水,请大佬原谅:
#include <bits/stdc++.h>
using namespace std;
int m;
signed main(){
scanf("%d",&m);
for(int i = 1;i <= m / 2;i++){
long long cnt = 0;
int j;
for(j = i;j < m;j++){
cnt += j;
if(cnt >= m) break;
}
if (cnt == m) printf("%d %d\n",i,j);
}
return 0;
}
哈哈哈
加油骚年!!!