是道数学类的简单题
#include<iostream> using namespace std; int main() { int n; int a[305]; memset(a,0,sizeof(a)); a[0]=a[1]=1; int i,j; for(i=3;i<305;i+=2) //基数是共轭的 { for(j=305-i;j>=0;j--) { a[i+j]+=a[j]; //基数加偶数还是基数,所以共轭,基数加基数是偶数,还是共轭的 } } while(cin>>n) { cout<<a[n]<<endl; } return 0; }