第一个数+最后一个数 = n平方的二倍 第一个数比最后一个数小2倍的n-1,可以推导第一个数和n的关系:
n*n * 2 = begin + begin + (n-1)*2 -> begin = n*n - n + 1;
#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; int cube = n * n * n; vector<int> ans(n); //第一个数加最后一个数 = n平方的二倍 第一个数比最后一个数小2倍的n-1 可以推导第一个数和n的关系 //n*n * 2 = begin + begin + (n-1)*2 -> begin = n*n - n + 1; ans[0] = n*n - n + 1; cout << ans[0]; for(int i = 1; i < n; ++i) { cout << '+'; ans[i] = ans[i-1] + 2; cout << ans[i]; } return 0; }