题解 | #尼科彻斯定理#
尼科彻斯定理
http://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
#include<iostream>
#include<vector>
using namespace std;
bool isjishu(int d)
{
if(d%2)
{
return true;
}
return false;
}
int main()
{
int d;
while(cin>>d)
{
int sum=d*d*d;
vector<int>res;
for(int i=1;i<sum;i++)
{
int temp=i;
int c=1;
int tsum=0;
bool flag=false;
res.clear();
while(tsum<sum&&c<=d&&temp<sum)
{
if(isjishu(temp))
{
c++;
tsum+=temp;
res.push_back(temp);
}
if(tsum==sum)
{
flag=true;
break;
}
temp++;
}
if(flag)
{
break;
}
}
string s;
for(int i=0;i<res.size();i++)
{
if(i!=res.size()-1)
{
s+=to_string(res[i])+"+";
}
else
{
s+=to_string(res[i]);
}
}
cout<<s<<endl;
}
return 0;
}