题目链接:https://www.nowcoder.com/acm/contest/115/H

解题思路:分块打表!!!

什么是分块打表呢???

从这道题我们知道我们要找到最多1*e9的阶乘

那循环暴力肯定tle,就是不tle,数组也开不了那么大的空间。

那么我们将1——1*e9分为100个区间。即

[ 1,1*e7]  、[1*e7 , 2*e7] 、、、、[99*e7 ,100*e7]。

我们只需要将中间的节点存起来就行,然后每次循环只需要1*e7次就可以了。

AC代码:

 1 #include<iostream>
2 #define INF 1000000007
3 #define m 10000000
4 using namespace std;
5 long long a[110]={1,682498929,491101308,76479948,723816384,67347853,27368307,
6 625544428,199888908,888050723,927880474,281863274,661224977,623534362,
7 970055531,261384175,195888993,66404266,547665832,109838563,933245637,
8 724691727,368925948,268838846,136026497,112390913,135498044,217544623,
9 419363534,500780548,668123525,128487469,30977140,522049725,309058615,
10 386027524,189239124,148528617,940567523,917084264,429277690,996164327,
11 358655417,568392357,780072518,462639908,275105629,909210595,99199382,
12 703397904,733333339,97830135,608823837,256141983,141827977,696628828,
13 637939935,811575797,848924691,131772368,724464507,272814771,326159309,
14 456152084,903466878,92255682,769795511,373745190,606241871,825871994,
15 957939114,435887178,852304035,663307737,375297772,217598709,624148346,
16 671734977,624500515,748510389,203191898,423951674,629786193,672850561,
17 814362881,823845496,116667533,256473217,627655552,245795606,586445753,
18 172114298,193781724,778983779,83868974,315103615,965785236,492741665,
19 377329025,847549272,698611116};
20 int main(){
21 int T;
22 cin>>T;
23 while(T--){
24 long long n;
25 cin>>n;
26 int t=n/m;
27 int mx=(t+1)*m;
28 long long ans=a[t];
29 if(n%m==0){
30 cout<<a[t]<<endl;
31 }else{
32 for(int i=t*m+1;i<mx;i++){
33 long long val=ans*i%INF;
34 if(i==n){
35 cout<<val<<endl;
36 break;
37 }
38 ans=val;
39 }
40 }
41 }
42 return 0;
43 }

江西财经大学第一届程序设计竞赛 H题- 小P的数学问题的更多相关文章

  1. 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  2. 江西财经大学第一届程序设计竞赛 H题 求大数的阶乘

    链接:https://www.nowcoder.com/acm/contest/115/H 来源:牛客网 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所学的知识 ...

  3. 江西财经大学第一届程序设计竞赛 F题 解方程

    链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  4. 江西财经大学第一届程序设计竞赛 H

    链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网 题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所 ...

  5. 江西财经大学第一届程序设计竞赛 G

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 题目描述 周末,小Q喜欢在PU口袋校园上参加各种活动刷绩点,体验丰富多彩的大学生活. 但是每个活 ...

  6. 江西财经大学第一届程序设计竞赛 F

    链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 题目描述 对于方程 2018 * x ^ 4 + 21 * x + 5 * x ^ 3 + 5 ...

  7. 江西财经大学第一届程序设计竞赛 E

    链接:https://www.nowcoder.com/acm/contest/115/E来源:牛客网 题目描述 当你的好友给你发来一条消息,你的消息列表上就会置顶显示该好友的名字以及该好友发给你的消 ...

  8. 江西财经大学第一届程序设计竞赛 C

    链接:https://www.nowcoder.com/acm/contest/115/C来源:牛客网 题目描述 决赛圈还剩下两个人,“伏地魔”XDD和跑毒进圈的FZL,XDD拿着狙击枪AWM瞄准并准 ...

  9. 江西财经大学第一届程序设计竞赛 B

    链接:https://www.nowcoder.com/acm/contest/115/B来源:牛客网 题目描述 给出一个出生日期,比如:1999-09-09, 问:从出生那一天开始起,到今天2018 ...

  10. 江西财经大学第一届程序设计竞赛 A

    链接:https://www.nowcoder.com/acm/contest/115/A来源:牛客网 题目描述 "挤需体验五番钟,里造会挨上这款游戏!" 怎么可能嘛!当我是傻子吗 ...

随机推荐

  1. 小红书获得小红书笔记详情 API 返回值说明

    ​ item_get_video-获得小红书笔记详情  注册开通 smallredbook.item_get_video 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以 ...

  2. 深入理解Linux内核——内存管理(4)——伙伴系统(1)

    提要:本系列文章主要参考MIT 6.828课程以及两本书籍<深入理解Linux内核> <深入Linux内核架构>对Linux内核内容进行总结. 内存管理的实现覆盖了多个领域: ...

  3. Go语言中匿名嵌套和类型嵌套的区别

    在Go语言中,匿名嵌套结构体和与类型同名的嵌套结构体不是完全等价的,它们有一些重要的区别.以下是它们之间的主要区别: 字段访问: 匿名嵌套结构体:当你使用匿名嵌套结构体时,内部结构体的字段可以被直接访 ...

  4. 大模型时代,如何快速开发AI应用

    本文分享自华为云社区 <[云享问答]第3期:大模型时代,如何快速开发AI应用>,作者:华为云社区精选. 大模型快速普及应用的当下,AI浪潮汹涌而至,对于开发者来说,开发一款属于自己的AI应 ...

  5. proto转java类时相关option配置

    转载请注明出处: option java_multiple_files = true; 作用和意义:此选项指示生成的 Java 代码将被分割成多个文件而不是一个文件.每个消息类型都会生成一个单独的 J ...

  6. 2023 ICPC 网络赛 II

    开场顺着读了 AC 不会,B 是 KDT 优化建图板子,让 zsy 确认了一下并制止他现在做.把 D 转化转化成了经典问题·,当时以为是网络流,所以 zsy 签完 M 就上去写了,写一半发现假了,问了 ...

  7. CCF PTA&中国科教工作者协会联合认证

    首页 项目简介 条例规定 通知公告 组织机构 服务中心 联系我们 登录|注册 当前位置:首页 > 新闻动态 开放报名:CCF PTA&中国科教工作者协会联合认证 发布时间: 2023-0 ...

  8. 深入理解 Python 虚拟机:进程、线程和协程

    深入理解 Python 虚拟机:进程.线程和协程 在本篇文章当中深入分析在 Python 当中 进程.线程和协程的区别,这三个概念会让人非常迷惑.如果没有深入了解这三者的实现原理,只是看一些文字说明, ...

  9. 用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子

    用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子 wmproxy 将实现http/https代理, socks5代理, 后续将实现websocket代理, 内外网穿透等, 会将实现过 ...

  10. Maven 项目工程

    maven打包java --jar1.安装jdk2.安装maven   --安装非常简单 网上教程很多,此步骤忽略-- 3.配置jdk/maven环境变量 # java_jdk export JAVA ...