P1147 连续自然数和
水题 直接暴力就可以了
AC代码:
1 #include<bits/stdc++.h> 2 #define pi acos(-1) 3 typedef long long ll; 4 typedef unsigned long long ull; 5 using namespace std; 6 7 namespace io { 8 const int SIZE = 1e7 + 10; 9 char inbuff[SIZE]; 10 char *l, *r; 11 inline void init() { 12 l = inbuff; 13 r = inbuff + fread(inbuff, 1, SIZE, stdin); 14 } 15 inline char gc() { 16 if (l == r) init(); 17 return (l != r) ? *(l++) : EOF; 18 } 19 void read(int &x) { 20 x = 0; char ch = gc(); 21 while(!isdigit(ch)) ch = gc(); 22 while(isdigit(ch)) x = x * 10 + ch - '0', ch = gc(); 23 } 24 } using io::read; 25 26 bool cmp(const int &a, const int &b){ 27 return a > b; 28 } 29 30 int main(){ 31 ios::sync_with_stdio(false); 32 int n; 33 cin>>n; 34 int sum; 35 for (int i = 1; i <= n / 2; i++){ 36 sum = i; 37 for (int j = i + 1; j < n; j++){ 38 sum += j; 39 if (sum == n){ 40 cout<<i<<' '<<j<<endl; 41 break; 42 } 43 else if (sum > n) break; 44 } 45 } 46 return 0; 47 }