博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
之江学院第0届校赛 qwb去面试 (找规律)
阅读量:4970 次
发布时间:2019-06-12

本文共 805 字,大约阅读时间需要 2 分钟。

Description

某一天,qwb去WCfun面试,面试官问了他一个问题:把一个正整数n拆分成若干个正整数的和,请求出这些数乘积的最大值。

qwb比较猥琐,借故上厕所偷偷上网求助,聪明的你能帮助他吗?

Input

第一行为一个正整数T.(T<=100000)

接下来T行,每行一个正整数n(n<=1e9),意义如题目所述。

Output

每一行输出一个整数,表示乘积的最大值,由于答案可能很大,请将答案对109+7取模后输出。

Sample Input

225

Sample Output

26

HINT

2=2

5=2+3

分析:

很容易看出分成2和3最好,并且6=2+2+2=3+3,222=8,3*3=9,说明尽量分成3.

代码:

#include
#include
#include
#define mod 1000000007using namespace std;int main(){ int T,n,ans,op; scanf("%d",&T); while(T--) { scanf("%d",&n); ans=1; op=n/3; n=n-op*3; for(int i=1; i<=op; i++) ans=(ans*3)%mod; op=n/2; for(int i=1; i<=op; i++) ans=(ans*2)%mod; printf("%d\n",ans); } return 0;}

转载于:https://www.cnblogs.com/cmmdc/p/6940992.html

你可能感兴趣的文章
函数的形参和实参
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
webdriver api
查看>>
apache 实现图标缓存客户端
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
P3565 [POI2014]HOT-Hotels
查看>>
MongoDB的简单使用
查看>>
hdfs 命令使用
查看>>
prometheus配置
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
python 多进程和多线程的区别
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
c#中从string数组转换到int数组
查看>>