之江学院2017ACM 校赛Problem G: qwb去面试
来源:互联网 发布:喷涂机器人及软件编程 编辑:程序博客网 时间:2024/05/20 18:01
Description
某一天,qwb去WCfun面试,面试官问了他一个问题:把一个正整数n拆分成若干个正整数的和,请求出这些数乘积的最大值。
qwb比较猥琐,借故上厕所偷偷上网求助,聪明的你能帮助他吗?
qwb比较猥琐,借故上厕所偷偷上网求助,聪明的你能帮助他吗?
Input
第一行为一个正整数T.(T<=100000)
接下来T行,每行一个正整数n(n<=1e9),意义如题目所述。
接下来T行,每行一个正整数n(n<=1e9),意义如题目所述。
Output
每一行输出一个整数,表示乘积的最大值,由于答案可能很大,请将答案对109+7取模后输出。
Sample Input
225
Sample Output
26这个题要求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); }}
阅读全文
1 0
- 之江学院2017ACM 校赛Problem G qwb去面试
- 之江学院2017ACM 校赛Problem G: qwb去面试
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛 Problem G: qwb去面试(数学问题)
- Problem G: qwb去面试
- 之江学院2017ACM校赛 Problem B: qwb与矩阵(记忆化搜索)
- 之江学院2017ACM 校赛 Problem J: qwb又偷懒了(树状数组)
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 之江学院2017ACM 校赛 Problem K: qwb与小数(思维 快速幂)
- 之江学院2017ACM 校赛 Problem M: qwb与二叉树(记忆化搜索)
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛 G.qwb去面试【贪心】
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛 G: qwb去面试 [找规律]【思维】
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列(找规律 快速幂)
- 江学院-Problem K: qwb与小数
- qwb去面试 思维
- qwb去面试
- qwb去面试
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛 Problem E: qwb和李主席 (折半枚举!!!!n堆数分成最接近的两堆!!
- HDU 3191 How Many Paths Are There
- HDU 4114 Disney's FastPass Time
- 蓝桥杯 历届试题 打印十字图
- BrnShop开源网上商城第二讲:ASP.NET MVC框架
- 历届试题 错误票据
- 之江学院2017ACM 校赛Problem G: qwb去面试
- JDBC2
- HDU 2236 无题II(二分匹配模板题,匈牙利算法)
- HDU 1269 迷宫城堡(强连通模板题)
- HDU 3594 Cactus(仙人掌图模板)
- HDU 3081 Marriage Match II
- HDU 1533 Going Home(KM算法模板样例)
- VJ Pots
- Jxnu Group Programming Ladder Tournament 2017题解