首页 > 代码库 > 爱丽丝·玛格特罗依德
爱丽丝·玛格特罗依德
【题目描述】
爱丽丝·玛格特罗依德有n(0 < n < 10^5)点魔法值,每召唤出一个『上海人形』就要消耗x点魔法,最后,它们造成的威力就是每个人形所消耗的魔法值的总积。
【输入描述】
输入一个数n。
【输出描述】
输出一个数表示最大威力。
【样例输入】
10
【样例输出】
36
【数据范围及提示】
样例中,10=2+2+3+3,36=2*2*3*3。
源代码:#include<cstdio>#include<cstdlib>int n,Length=1,Ans[60000];int Get(int T) //高精度乘法。{ int i[60000]; i[1]=0; for (int a=1;a<=Length;a++) { Ans[a]*=T; Ans[a]+=i[a]; i[a+1]=Ans[a]/10; Ans[a]%=10; } if (i[Length+1]) { Length++; Ans[Length]=i[Length]; }}void Solve(){ while (n) if (n==4) { n-=4; Get(4); } else if (n==2) { n-=2; Get(2); } else if (n>=3) { n-=3; Get(3); } else if (n==1) { printf("1"); exit(0); }}int main(){ scanf("%d",&n); Ans[1]=1; Solve(); for (int a=Length;a>0;a--) printf("%d",Ans[a]); return 0;}/* 解题思路: 一道红果果的数学奥赛题。尽量分成3,不足的就分成2。*/
爱丽丝·玛格特罗依德
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。