题意:
把n分成多个数相加求出各个加数相乘最大的方法
分析:
递归,一个一个的分成3,然后求积
代码:
#include<bits/stdc++.h>
using namespace std;
long long int s,t;
void Vp(int n)
{
int i;
if(n>4){
s++;
t*=3;
cout<<"3"<<" ";
Vp(n-3);
}
else
{
s++;
t*=n;
cout<<n<<" ";
}
}
int main()
{
long long int n;
while(cin>>n)
{
s=0;
t=1;
Vp(n);
cout<<endl<<s<<" "<<t<<endl;
}
}
感受:
其实就是按着提示来,没有难度。。