nowcoder 115 H 小P的数学问题

Project 编制进度计划【项目管理】 Project 项目管理编制进度计划详解。 阅读详情

题目链接

题目:

题目描述
晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。
他总是能从所学的知识散发出奇妙的思维。
今天他想到了一个简单的阶乘问题,
0!= 1
1!= 1
2!= 1 * 2 = 2
3!= 1 * 2 * 3 = 6
4!= 1 * 2 * 3 *4 = 24
5!= 1 * 2 * 3 *4 * 5 = 120
。
。
如果 n=1000000000,那么n的阶乘会是多少呢,小P当然知道啦,那么你知道吗?
输入描述:

第一行输入一个整数T(表示样例个数)
接下来T组样例
每组样例一行,输入一个整数N(0<=N<=1000000000)

输出描述:

输出T行
每一行输出N的阶乘 N!(由于这个数比较大,所以只要输出其对1000000007取膜的结果即可)

示例1

输入

2
0
1000000000

输出

1
698611116


参考了下面这篇文章

np问题(大数阶乘取模)

分析:

求阶乘很容易,但是1000000000太大了,不太可能直接在1秒算出来,所以采取打表的方法来做。
思路:先在本地算出1~1000000000的所有阶乘,把结果放到数组中。为了控制打表出来的数组的长度,只每隔10000000就输出一次结果,也就是间隔地取100个数放到数组中——这样就相当于把所有的数字分成了[1~10000000], [10000001~20000000], …, [990000001,1000000000] 一共一百个区间,每个区间记录的是左端点-1的阶乘,接下来要计算任何 n! 只要在 n 对应的区间的基础上继续计算阶乘就行了。对每个n,它对应的区间其实刚好就是 n/10000000 ,在这个基础上再计算 n 次就行了。显然最多计算10000000次(区间的宽度)就可以了,所以答案是可行的。

代码:

#include<stdio.h>

#define mod 1000000007
//打表的代码,存到了文件里面
//int main() {
//
//  unsigned long long cnt=1;
//  freopen("in.txt", "w", stdout);
//
//  for (unsigned long long i = 1; i <= 1000000000; ++i) {
//      cnt = cnt*i % mod;
//      if (i % 10000000 == 0)printf("%llu,", cnt);
//  }
//}

//从文件拷贝到代码中的,记得第一个区间[1,10000000]记录的是1哦
int a[] = {1,682498929,491101308,76479948,723816384,67347853,27368307,625544428,199888908,888050723,927880474,281863274,661224977,623534362,970055531,261384175,195888993,66404266,547665832,109838563,933245637,724691727,368925948,268838846,136026497,112390913,135498044,217544623,419363534,500780548,668123525,128487469,30977140,522049725,309058615,386027524,189239124,148528617,940567523,917084264,429277690,996164327,358655417,568392357,780072518,462639908,275105629,909210595,99199382,703397904,733333339,97830135,608823837,256141983,141827977,696628828,637939935,811575797,848924691,131772368,724464507,272814771,326159309,456152084,903466878,92255682,769795511,373745190,606241871,825871994,957939114,435887178,852304035,663307737,375297772,217598709,624148346,671734977,624500515,748510389,203191898,423951674,629786193,672850561,814362881,823845496,116667533,256473217,627655552,245795606,586445753,172114298,193781724,778983779,83868974,315103615,965785236,492741665,377329025,847549272,698611116};

//使用长整形防止在乘法的时候溢出
typedef unsigned long long ll;
int main() {
    int t;
    scanf("%d", &t);
    //统一要参与乘法的变量的类型
    ll n, i,ans,block= 10000000;//区间长度
    while (t--)
    {
        scanf("%llu", &n);
        ans = a[n / block];
        for (i = 1; i <= (n % block); ++i) {//在基础上继续做阶乘
            ans = ans*(i+n/block*block)%mod;
        }
        printf("%llu\n", ans);
    }
}
DPI — 业务识别技术 目录 文章目录目录DPI 的业务识别技术类型特征识别Protocol 特征Payload 特征关联识别行为识别 DPI 的业务识别技术类型 DPI 的关键技术是能够高效的识别出网络上的各种应用类型。 浅报文检测是通过端口号来识别应用类型的。如:检测到端口号为 80 时,则认为是 HTTP 协议。但实际上,为了应用的安全性考虑通常不会使用默认端口来暴露业务能力。此时采用 L2 ~ L4 层的传统检测方法已无能为力了。 而 DPI 技术与我们熟知的防病毒软件在某些方面比较类似,即:其能识别的应用类型必须是系统已 阅读详情

相关推荐

Palantir解密:“本体”的建模逻辑及其扩展方向

上一篇重点从对现实世界建模的角度探讨了“本体”在数字化架构中的核心意义。这里借Palantir的“本体”概念、解析Palantir只是起点,目标旨在以他山之石攻玉——探索数字世界的底层架构逻辑,最终为构建自主体系提供思考。Palantir以“本体论”为核心的建模方案是否代表终极答案,不宜过早下结论,但其思路值得深入剖析。

SZSDQJC的博客 2632

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

链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网 题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。 他总是能从所学的知识散发出奇妙的思维。 今天他想到了一个简单的阶乘问题, 0!= 1 1!= 1 2!= 1 * 2 = 2 3!= 1 * 2 * 3 = 6 4...

232

科研党必备:Python脚本批量下载DOI文献的保姆级教程(附避坑指南)

本文为科研人员提供了一份详细的Python脚本批量下载DOI文献的教程,涵盖环境配置、核心功能实现、性能优化及常见问题解决。通过自动化脚本,研究者可高效完成文献批量下载,显著提升科研工作效率,特别适合需要处理大量文献的研究团队使用。

weixin_26965807的博客 476

牛客题 - 小P的数学问题 (暴力MAX优化技巧)

题目链接: 江西财经大学第一届程序设计竞赛-小P的数学问题 题意 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。 他总是能从所学的知识散发出奇妙的思维。 今天他想到了一个简单的阶乘问题, 0!= 1 1!= 1 2!= 1 * 2 = 2 3!= 1 * 2 * 3 = 6 4!= 1 * 2 * 3 *4 = 24 5!= 1 *...

梦之城 481

squirrel校园二手交易平台

squirrel校园二手交易平台 (适合寻找SSM项目练手的你。) 项目起源:   期末的课程设计,三人一组,我和两个舍友,一时起兴,决定做一个校园二手交易平台,一开始兴致与激情满满,可是后期时间上的冲突,让我们三个人对于这个项目有点累。   这个项目刚定题两天,BezosLee由于通过了360的网上在线笔试,收到了360公司的免费培训邀请,要去北京的360总部进行培训一周,值得庆...

K.SHI的博客 5万+

Tessy学习系列(三):单元测试——官方例程isValueInRange

注意:工程名称以及路劲不能包含空格和中文

不吃鱼的猫的博客 2346

江西财经大学第一届程序设计大赛 H-小P的数学问题

链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网题目描述 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。 他总是能从所学的知识散发出奇妙的思维。 今天他想到了一个简单的阶乘问题, 0!= 1 1!= 1 2!= 1 * 2 = 2 3!= 1 * 2 * 3 = 6 4!= ...

JXUFE_ACMer的博客 401

Pytorch中安装 torch_geometric 详细图文操作(全)

如果已经安装了pytorch版本,对应跳过步骤一,直接安装步骤二即可注意:依赖包的配置需要根据pytorch版本号以及cuda的版本号,版本号要适配,否则部分函数无法使用。

码农研究僧的博客 3447

H 小P的数学问题(分块)

H 小P的数学问题(牛客网·江西财经大学第一届程序设计竞赛2018-04-21) 小P的数学问题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述: 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。 他总是能从所学的知识散发出奇妙的思维。 今天他想到了一个简...

Pandora_heart的博客 852

全新YOLOv11一文弄懂 | YOLOv11网络结构解读 、yolov11.yaml配置文件详细解读与说明、模型训练参数详细解析 | 通俗易懂!入门必看系列!

本文全面介绍了YOLOv11目标检测算法,包含网络结构解析、yaml配置文件详解及训练教程。YOLOv11通过改进的C3k2f模块、SPPF和C2PSA注意力机制等创新设计,在COCO数据集上实现了比YOLOv8更优的性能。文章详细解读了yolov11.yaml配置文件的参数设置、主干网络(backbone)和头部网络(head)结构,并提供了完整的训练代码示例和参数说明。训练部分涵盖了模型选择、参数设置及优化技巧,包括epochs、batch size、学习率等关键参数的调整建议。最后总结了YOLOv11

Ai缝合怪、助力小伙伴高效发论文 3万+

【YOLOv11工业级实战】27. TensorRT量化实战:FP16/INT8极致加速!边缘设备YOLOv11推理速度提升4倍,精度损失控制在1.5%内

摘要:本文针对智慧园区200路摄像头实时分析的工业痛点——RTX 3080单卡仅能处理12路视频流(YOLOv11-nano FP32精度45FPS,需≥120FPS且精度损失≤3%),提供TensorRT量化完整解决方案。从原理解析(FP16/INT8精度差异与量化逻辑)到实操落地(ONNX转换、FP16引擎构建、INT8精细校准),全程给出可复用代码。实测显示:FP16量化后速度达128FPS(×2.8),精度损失0.2%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1718

H-小p的数学问题

n&lt;=1e9,直接计算超时。那么我们可以分块打表,本地算出100个用数组存储,即1e7~1e9。分块计算即可!!!链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述 晚上,小P喜欢在寝室里一个个静...

代码行 445

让 SAP HANA 查询飞起来:彻底避开隐式类型转换的性能暗礁

SAP HANA性能优化:警惕隐式类型转换陷阱 隐式类型转换是SAP HANA项目中常见的性能隐患。当SQL表达式两侧数据类型不匹配时,系统会自动进行类型转换,这种看似便利的操作可能导致: 过滤条件无法下推,扫描范围扩大 列存引擎优势丧失,触发中间结果物化 执行计划走向低效路径 治理方案包括: 从源头统一数据类型,确保常用比较字段类型一致 将显式转换应用于常量而非整列 使用生成列预先转换存储,避免运行时计算 排查方法: 通过SQL Plan Cache定位高频查询 分析执行计划中的转换迹象 重点关注VARC

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 11万+

江西财经大学第一届程序设计竞赛 H-小P的数学问题

江西财经大学第一届程序设计竞赛 H-小P的数学问题链接:https://www.nowcoder.com/acm/contest/115/H来源:牛客网题目描述晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活。他总是能从所学的知识散发出奇妙的思维。今天他想到了一个简单的阶乘问题,0!= 11!= 12!= 1 * 2 = 23!= 1 * 2 * 3 = 64!= 1 * 2

gdut_yy的博客 371

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

常见HTTP错误代码大全

一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  101 (切换协议) 请求者已要求服务器切换协议,服务器已确认

你那么爱笑,家里人知道吗? 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

AtCoder Beginner Contest 085 D Katana Thrower(贪心)

Problem Statement You are going out for a walk, when you suddenly encounter a monster. Fortunately, you have N katana (swords), Katana 1, Katana 2, …, Katana N, and can perform the following two kind

toby的博客 928

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

codeforces 922 C Cave Painting

能同时满足n mod i = i -1 (i = 1, 2, 3, ..., k)的n有多少个呢?

toby的博客 898

codeforces 914 D Bash and a Tough Math Puzzle

结合了gcd的线段树,每个区间结点维护的都是这个区间的gcd。单点更新。每次询问需要检查 x 相对于[l, r]的gcd是否为almost right(如果只修改一个叶子结点就能让区间[l, r]的gcd变成x)

toby的博客 854

2018 CCCC天梯赛 L2 04 秀恩爱分得快

所以说,秀恩爱真的让人头大orz

toby的博客 840

codeforces 916 A Jamie and Alarm Snooze

一道很简单的模拟题。

toby的博客 838

codeforce 915 B Browser

Luba is surfing the Internet. She currently has n opened tabs in her browser, indexed from 1 to n from left to right. The mouse cursor is currently located at the pos-th tab. Luba needs to use the tab

toby的博客 783

codeforces 922 D Robot Vacuum Cleaner

抽象化字符串,再利用贪心对他们排序

toby的博客 760

codeforces 918 B Radio Station

Description As the guys fried the radio station facilities, the school principal gave them tasks as a punishment. Dustin’s task was to add comments to nginx configuration for school’s website. The sc

toby的博客 719

codeforces 931 B. World Cup

二叉树上的最近公共祖先问题

toby的博客 707

Codeforces 907A Masha and Bears

A family consisting of father bear, mother bear and son bear owns three cars. Father bear can climb into the largest car and he likes it. Also, mother bear can climb into the middle car and she likes i

toby的博客 688

codeforces 967 C Stairs and Elevators

找最近的楼梯或电梯,特判同一层楼的情况

toby的博客 662
上一篇: codeforces 962 D. Merge Equals
下一篇: nowcoder 84 B 漂亮的树
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值