给出一个正整数n,将其拆分成三个非负整数的累加和,问有几种方法数。
例如4:0+0+4,0+1+3,0+2+2,1+1+2,有4种
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n;
cin>>n;
int ans=0;
int a = n / 2.0 + 0.5, b;
while (a <= n) {
ans += (n - a) / 2 + 1;
a++;
}
a = n / 2.0 - 0.5, b = n / 3.0 + 0.5;
while (a >= b) {
int t=((n-a) / 2.0 + 0.5);
ans += a -t + 1;
a--;
}
cout << ans << endl;
return 0;
}