#define _CRT_SECURE_NO_WARNINGS #include<bits/stdc++.h> using namespace std; int arr[10000]; /* 找规律 2 0 3 1 4 2 5 4 6 6 7 9 8 12 9 16 10 20 有两种规律,一种是0->1 +1 ;1->2 +1;2->4 +2 ;4->6 +2 另一种规律,2=2+0,4=3+1,6=4+2,9=5+4,即arr[i]=arr[i-2]+i-2; */ int main() { int temp = 1; int k = 0; arr[1] = 0; arr[2] = 0; for (int i = 3; i < 10000; i++) { if (k == 2) { k = 0; temp++; } arr[i] = arr[i - 1] + temp; k++; } int n; while (cin >> n) { cout << arr[n] << endl; } return 0; } |
Double click to view unformatted code.