题目链接: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接口获取微店的商品详情

    微店是一款电商平台,对于商家而言,了解商品详情数据是非常重要的.通过API接口获取微店的商品详情,可以让商家更加便捷地管理和分析商品数据.下面就让我们详细了解一下如何通过API获取微店的商品详情. 第 ...

  2. ThreadLocal:线程中的全局变量

    最近接了一个新需求,业务场景上需要在原有基础上新增2个字段,接口新增参数意味着很多类和方法的逻辑都需要改变,需要先判断是否属于该业务场景,再做对应的逻辑.原本的打算是在入口处新增变量,在操作数据的时候 ...

  3. SQL注入——搜索型

    SQL注入-搜索型 搜索型注入-原理介绍 一些网站为了方便用户查找网站的资源,都对用户提供了搜索的功能,因为是搜索功能,往往是程序员在编写代码时都忽略了对其变量(参数)的过滤,而且这样的漏洞在国内的系 ...

  4. (数据科学学习手札154)geopandas 0.14版本新特性一览

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在前两天,Python生态中 ...

  5. 使用shuffle sharding增加容错性

    使用shuffle sharding增加容错性 最近在看kubernetes的API Priority and Fairness,它使用shuffle sharding来为请求选择处理队列,以此防止高 ...

  6. c语言代码练习3改进

    #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int x = 0; printf("请输入一 ...

  7. Flask框架——详解URL、HTTP请求、视图函数和视图类

    文章目录 1 什么是url? 2 为什么要有url? 3 如何应用url? 3.1 url和路由的区别. 3.2 url传参的两种 3.2.1动态路由传参 3.2.1.1 动态路由的过滤 3.2.2 ...

  8. 再谈http请求调用(Post与Get),项目研发的核心一环

    支持.Net Core(2.0及以上)与.Net Framework(4.0及以上) [目录] 前言 Post请求 Get请求 与其它工具的比较 1[前言] http请求调用是开发中经常会用到的功能. ...

  9. 再学Blazor——概述

    简介 Blazor 是一种 .NET 前端 Web 框架,同时支持服务器端呈现和客户端交互性. 使用 C# 语言创建丰富的交互式 UI 共享前后端应用逻辑 可以生成混合桌面和移动应用 受益于 .NET ...

  10. 可视化-vscode安装pandas

    pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快速 ...