之江学院2017ACM 校赛Problem G: qwb去面试
2017-06-03 09:05
183 查看
Description
某一天,qwb去WCfun面试,面试官问了他一个问题:把一个正整数n拆分成若干个正整数的和,请求出这些数乘积的最大值。qwb比较猥琐,借故上厕所偷偷上网求助,聪明的你能帮助他吗?
Input
第一行为一个正整数T.(T<=100000)接下来T行,每行一个正整数n(n<=1e9),意义如题目所述。
Output
每一行输出一个整数,表示乘积的最大值,由于答案可能很大,请将答案对109+7取模后输出。Sample Input
2 2 5
Sample Output
2 6 这个题要求n拆成数字的乘积的最大值,一定是拆的越细越好,当时我以为要拆成很多2相乘,但是,后来,当n==6时,3*3 >2*2*2,所以,拆成2不如拆成3大,但是我还没弄懂为什么这么拆,等我弄明白 了再来弄,哈,下面先奉献出我的代码:
#include <stdio.h> typedef long long LL; const LL mod = 1e9+7; LL quickm(LL a,LL b) { LL ans=1; while(b!=0) { if(b&1) ans=ans*a%mod; a=a*a%mod; b=b/2; } return ans%mod; } int main() { LL t; scanf("%lld",&t); while(t--) { LL n; scanf("%lld",&n); LL ans; if(n==1){ printf("1\n"); continue; } else if(n%3==0) { ans=quickm(3,n/3); } else if(n%3==1) { ans=quickm(3,n/3-1)%mod*4%mod; } else ans=quickm(3,n/3)%mod*2%mod; printf("%lld\n",ans); } }
相关文章推荐
- 之江学院2017ACM校赛 Problem B: qwb与矩阵(记忆化搜索)
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列(找规律 快速幂)
- 之江学院2017ACM 校赛 Problem J: qwb又偷懒了(树状数组)
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 之江学院2017ACM 校赛Problem G qwb去面试
- Problem G: qwb去面试
- 之江学院2017ACM 校赛 Problem K: qwb与小数(思维 快速幂)
- 之江学院2017ACM 校赛 Problem M: qwb与二叉树(记忆化搜索)
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛 Problem G: qwb去面试(数学问题)
- 之江学院第0届校赛 Problem H: qwb与学姐(最大生成树+树链剖分)
- 之江学院第0届校赛 Problem I: qwb VS 去污棒(可持久化01字典树)
- qwb去面试 思维
- hpuoj 1720: 感恩节KK专场——面试难题 【贪心】【校赛】
- 广工校赛2017 - Problem E: 倒水(Water) Problem C: 爬楼梯
- 山科校赛 Problem A: 字符串“水”题(状态压缩)
- 【面试笔试算法】Problem 7: 补提交卡(hiho题库)
- Contest - 2013校赛暨华中邀请赛 Problem D: Tetrahedron Inequality
- 浙工大2015年校赛 Problem G: You you rhythm master(贪心题)
- 广东工业大学2016校赛决赛-网络赛 1169 Problem A: Krito的讨伐 优先队列