[百度之星] 2005年初赛 - 连续正整数

 

#include <iostream> using namespace std; int getFirstInteger(int i, int n); int main() { int n; // target integer cin >> n; int flag = 0; for (int i = n/2; i > 1; i--) { int first = getFirstInteger(i, n); if (first) { flag = 1; for (int j = 1; j < i; j++) cout << first++ << " "; cout << first << endl; } } if (!flag) cout << "NONE" << endl; return 0; } /* * Return the first integer of i sequential integers whose sum is n, if existes; or else return 0. */ int getFirstInteger(int i, int n) { int t = n - i*(i-1)/2; if (t % i == 0) return t/i; else return 0; }

 

你可能感兴趣的:(百度,Integer,include)