ccsu 1090 积最大的整数分解

来源:互联网 发布:ipone5s安装不了软件 编辑:程序博客网 时间:2024/05/19 09:02

给你一个正整数N,试将其分解成若干个互不相同的正整数之和,使得这些互不相同的正整数之积最大。

//想要积最大,则要保证n分解的数尽量小 #include<iostream>#include<string.h>#define size 100010using namespace std;int main(){    int n;    int ans[size];    while(scanf("%d",&n)!=EOF)    {         int sum = 0 ,t = -1 ,i ;         for(i=2;i<=n;i++)         {              sum+=i;              if(sum>=n)  {sum-=i; break;}              ans[++t]=i;         }          i = n-sum;         for(int j=0;j<i;j++)  ans[t-j]++;         for(int j=0;j<t;j++)  printf("%d ",ans[j]);         printf("%d\n",ans[t]);    }    return 0;}


原创粉丝点击