链接: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. 《Cracking the Coding Interview》——第17章:普通题——题目8

    2014-04-28 23:35 题目:最大子数组和问题. 解法:O(n)解法. 代码: // 17.8 Find the consecutive subarray with maximum sum ...

  2. 24、php知识点总结基础教程--part-2

    1.表单处理 ①post请求 <html> <body> <form action="welcome.php" method="post&q ...

  3. 在SqlServer中通过SQL语句实现树状查询

    CREATE PROCEDURE [dbo].[GetTree] @Id int AS BEGIN with cte as ( as lvl from Entity where Id = @Id un ...

  4. MySQL隐式转换测试

      Preface       There're various data type in MySQL such as number,string,date,time,lob,etc.The data ...

  5. 第三方库的安装:Pangolin

    Pangolin: 一款开源的OPENGL显示库,可以用来视频显示.而且开发容易. 代码我们可以从Github 进行下载:https://github.com/stevenlovegrove/Pang ...

  6. Android数据储存之SharedPreferences总结

    写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...

  7. java中newInstance和new(转)

    在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法.通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态 ...

  8. HDU 4417 Super Mario ( 离线树状数组 )

    把数值和查询放在一起从小到大排序,纪录每个数值的位置,当遇到数值时就更新到树状数组中,遇到查询就直接查询该区间和. #include <cstdio> #include <cstri ...

  9. 软工实践Alpha冲刺(9/10)

    v队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面. 完成非功能的主界面制 ...

  10. 【bzoj1856】[Scoi2010]字符串 Catalan数

    题目描述 lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgww想要知道满足 ...