链接:https://www.nowcoder.com/acm/contest/110/A

来源:牛客网

题目描述

这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积最大是多少?请输出答案除以2000000000000000003(共有17 个零) 的余数。

举例来说,当 S = 5 时,若干个数的和为 5 的情形有以下 7 种(不考虑数字的顺序的话):

  1. 1 + 1 + 1 + 1 + 1
  2. 1 + 1 + 1 + 2
  3. 1 + 1 + 3
  4. 1 + 2 + 2
  5. 1 + 4
  6. 2 + 3
  7. 5

    他们的乘积依序为:
  8. 1 * 1 * 1 * 1 * 1 = 1
  9. 1 * 1 * 1 * 2 = 2
  10. 1 * 1 * 3 = 3
  11. 1 * 2 * 2 = 4
  12. 1 * 4 = 4
  13. 2 * 3 = 6
  14. 5 = 5

    其中乘积最大的是 2 * 3 = 6。

    输入描述:

    输入的第一行有一个正整数 T,代表该测试数据含有多少组询问。

    接下来有 T 行,每个询问各占 1 行,包含 1 个正整数,代表该询问的 S 值。

    输出描述:

    对于每个询问,请输出答案除以 2000000000000000003(共有17个零) 的余数。

    示例1

    输入

    10

    1

    2

    3

    4

    5

    6

    7

    8

    9

    100

    输出

    1

    2

    3

    4

    6

    9

    12

    18

    27

    7412080755407364

    备注:

    1 ≤ T ≤ 100

    1 ≤ S ≤ 2000

【[知乎讲解](https://www.zhihu.com/question/30071017/answer/47584748)】
```
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define debug() puts("++++")
#define gcd(a,b) __gcd(a,b)
#define lson l,m,rt P;
const int INF = 0x3f3f3f3f;
const LL LNF = 1e18;
const int MAXN = 1e3 + 5;
const int maxm = 1e6 + 10;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int dx[] = {-1,1,0,0,1,1,-1,-1};
const int dy[] = {0,0,1,-1,1,-1,1,-1};
const int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int monn[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

/*

long long Pow(long long a,long long b)

{

long long res=1;

for(int i=1;i<=b;i++){

res*=a; res %= 2000000000000000003;

}

return res;

}

/

/


LL mul(LL a,LL b)

{

LL ans=0;

while(b)

{

if(b&1) ans=(ans+a)%p;

a=(a+a)%p;

b=b>>1;

}

return ans;

}

LL Pow(LL a,LL b)

{

LL result=1;

LL base=a%p;

while(b)

{

if(b&1) result=mul(result,base)%p;

base=mul(base,base)%p;

b=b>>1;

}

return result;

}

/

int main()

{

long long ans, n;

int t;

cin>>t;

while(t--){

ans = 1;

cin >> n;

while(n>4){

ans=ans
3%mod;

n-=3;

cout<<ans<<endl;

}

ans=ans*n%mod;

cout<<ans<<endl;

}

return 0;

}

牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】的更多相关文章

  1. 牛客网练习赛23 F 托米的游戏

    链接:https://www.nowcoder.com/acm/contest/156/F 来源:牛客网 题目描述 题目背景编不下去了 托米有一棵有根树 T, 树根为1,每轮他会在剩下的子树中等概率一 ...

  2. 牛客网练习赛28A

    题目链接:https://www.nowcoder.com/acm/contest/200/A 链接:https://www.nowcoder.com/acm/contest/200/A来源:牛客网 ...

  3. 牛客网练习赛26B(简单的dp)

    题目链接:https://www.nowcoder.com/acm/contest/180/B 链接:https://www.nowcoder.com/acm/contest/180/B来源:牛客网 ...

  4. 牛客网练习赛34-D-little w and Exchange(思维题)

    链接:https://ac.nowcoder.com/acm/contest/297/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  5. 牛客网练习赛25 C 再编号

    链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...

  6. 牛客网练习赛12---A and B

    A题传送门:https://www.nowcoder.net/acm/contest/68/A B题传送门:   https://www.nowcoder.net/acm/contest/68/B A ...

  7. 牛客网练习赛 2 烟花(概率dp)

    题目传送门 烟花 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge, 64bit IO Format: %lld 题目 ...

  8. 牛客网练习赛t2(线段树)

    题解: 好像因为他说了 数据范围全部在ll以内 所以直接暴力就可以过了 比较正常是用线段树来维护 洛谷上有道模板题是支持加,乘,区间和 而这题还多了区间平方和的操作 按照那题的操作 我们维护的时候保证 ...

  9. 牛客网练习赛7-B-购物

    在遥远的东方,有一家糖果专卖店. 这家糖果店将会在每天出售一些糖果,它每天都会生产出m个糖果,第i天的第j个糖果价格为C[i][j]元. 现在的你想要在接下来的n天去糖果店进行选购,你每天可以买多个糖 ...

随机推荐

  1. BAD_ACCESS在什么情况下出现?如何调试BAD_ACCESS错误

    1. 访问一个僵尸对象,访问僵尸对象的成员变量或者向其发消息 死循环 2. 设置全局断点快速定位问题代码所在行 开启僵尸对象调试功能  

  2. 《数据结构与算法分析:C语言描述》复习——第八章“并查集”——并查集

    2014.06.18 14:16 简介: “并查集”,英文名为“union-find set”,从名字就能看出来它支持合并与查找功能.另外还有一个名字叫“disjoint set”,中文名叫不相交集合 ...

  3. python学习笔记六:内置函数

    一.数学相关 1.绝对值:abs(-1) 2.最大最小值:max([1,2,3]).min([1,2,3]) 3.序列长度:len('abc').len([1,2,3]).len((1,2,3)) 4 ...

  4. HttpRuntime.Cache再学习

    摘抄: 可以看到:读缓存,其实是在调用Get方法,而写缓存则是在调用Insert方法的最简单的那个重载版本. 注意了:Add方法也可以将一个对象放入缓存,这个方法有7个参数,而Insert也有一个签名 ...

  5. c#用UpdatePanel实现接局部刷新

    通常我们看到局部刷新就会想到Ajax,但是我今天要说的是c#的一个控件,只要把服务器按钮和要刷新的区域放在该控件内就能实现局部刷新. 当然它必须和ScriptManager控件一起使用. Update ...

  6. Hexo博客收录百度和谷歌-基于Next主题

    Hexo博客收录百度和谷歌-基于Next主题(应该是比较全面的一篇教程) 我们的博客做出来当然是希望别人来访问,但是Github和Coding都做了防爬虫处理,这样子我们博客可能就无法被搜索引擎收录, ...

  7. PHP文件信息获取函数

    知识点: basename():获取文件名,传入第二个参数则只显示文件名,不显示后缀 dirname():获取文件路径 pathinfo():将文件信息存入一个数组,通过索引basename,dirn ...

  8. SheetJS & Error: Sheet names cannot exceed 31 chars

    SheetJS Error: Sheet names cannot exceed 31 chars title + version https://github.com/SheetJS/js-xlsx ...

  9. Android 热更新是如何实现的?

    Android开发中,我们常常遇到热更新这个概念,而这个热更新具体是怎么实现的呢?今天在网上看到一个大神分享的热更新相关实现原理和实现代码,感觉灰常不错,分享给广大码农盆友look look . Cl ...

  10. 安装JDK以及配置Java运行环境

    安装JDK以及配置Java运行环境 1.JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2 ...