暑期9_15队内练习赛 B题 大数取模+矩阵快速幂

基于Java17、SpringBoot、vue3、antdv-next、uniapp等主流技术构建的全场景极速开发平台 MDP内置3个web端、1个移动端 重点解决用户中心、开发者平台、管理后台3个应 MDP-主数据平台,后端项目。专注于单点登录解决方案。内置用户中心、开发者平台、管理后台3个应用。包含:单点登录、Oauth2 登录、用户身份管理、应用申请、应用接入、主数据维护、主数据订阅、主数据广播、应用接口调用、接口管理管理和查看、系统配置等功能。 立即下载

题目大意:求sin(n!*ln(n)*f[n]%2012)的结果,n<=10^9,f[n]是斐波那契数列的第n项

思路:哎~~菜菜菜啊~~却不是我的菜~~n!至少到2012都不用求后面的啦~~因为取余都为0了~~我还在傻乎乎的用矩阵求快速幂·~呜呜~~菜菜菜啊~~

AC program:(暴力无优化代码:没有优化2012后都为0的情况)

#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
int aa[2015];
int f[1000005];
int sum;
struct node
{
  int a,b,c,d;       
}fsum,gg;

node ju(node aaa, node bbb)
{
  node ccc;
  ccc.a=(aaa.a*bbb.a)%2012+(aaa.b*bbb.c)%2012;
  ccc.b=(aaa.a*bbb.b)%2012+(aaa.b*bbb.d)%2012;
  ccc.c=(aaa.c*bbb.a)%2012+(aaa.d*bbb.c)%2012;
  ccc.d=(aaa.c*bbb.b)%2012+(aaa.d*bbb.d)%2012;
  //cout<<"ab cd "<<ccc.a<<' '<<ccc.b<<' '<<ccc.c<<' '<<ccc.d<<endl;
  //return ccc;
  return ccc;     //少了个返回让我的数据情何以堪
}
node fn(int n)
{
   if(n==1)return gg;
   //fn(n/2);              //做这个矩阵乘法也让我收获颇丰啊~~也是菜的证明·~~

                          //我在这多写了个f(n/2)不知道把电脑搞死到什么程度~~囧。。
   node tmp=fn(n/2); 
   node tmppp=ju( tmp,tmp); 
   if(n%2==0) return tmppp;
   return ju( tmppp,gg );    
        
}
int main()
{
gg.a=1;
gg.b=1;
gg.c=1;
gg.d=0;
memset(aa,0,sizeof(aa));
aa[1]=1;
for(int i=2;i<=2012;i++)
   {
      aa[i]=(aa[i-1]*i)%2012;        
   }     
int test,n;
scanf("%d",&test);
while(test--)
{
   scanf("%d",&n);
   fsum= fn(n);
   //cout<<fsum.b<<endl;
   //cout<<"fsum "<<fsum.a<<' '<<fsum.b<<' '<<fsum.c<<' '<<fsum.d<<endl;
   sum=1;
   int tmp=n/2012;
   if(tmp>=1)
        {
          for(int i=1;i<=2012;i++)
          {
                   
                 sum=  (aa[2012]* (tmp%2012))%2012;    
          }     
        }
   int kg=n%2012;
    if(kg!=0)
    {
      
        sum=sum*aa[kg];       
             
    }

           int ttt=(int)log((double)n);
                                         //cout<<"ttt "<<ttt<<endl;
                                         //cout<<"sum "<<sum<<endl;
           int ppp=(  sum* ( ttt%2012) *fsum.a)%2012;
                                          //cout<<"ppp "<<ppp<<endl;
           double win=sin( (double)ppp); 
           printf("%.3lf\n",win);
   
                
               
}
//system("pause");
return 0;}


 

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?.docx 科技中介服务机构想要提升服务效率,需要哪些数智工具支持? 立即下载

相关推荐

usb 扩容盘检测修复工具源码,编译产物

usb 扩容盘检测修复工具源码,编译产物

阶乘的标准分解式中素因数的指数

下面的资料来自:广东江门市华侨中学,赣南师范学院学报论文                           program:(求阶乘含有的某个素数因子的指数) (1)、 int cal(int n,int p) {   if(n     return 0;   else return n/p+cal(n/p,p); }

muxi@Achilles的专栏 5441

融合UWB和IMU割草机定位EKF研究(Matlab代码实现)

内容概要:本文主要介绍了一个名为“Plecs全桥LLC谐振变换器仿真模型”的技术资源,该资源聚焦于电力电子领域中的LLC谐振变换器建模与仿真,涵盖开环、闭环控制、软启动设计及参数优化等核心内容。文档不仅提供了LLC变换器的详细建模方法与仿真案例,还系统梳理了其在高效电源转换系统中的应用,包括隔离型全桥拓扑结构的设计与性能分析。此外,资源汇总了大量Matlab/Simulink仿真模型及相关科研方向,涉及新能源并网、储能控制、电机驱动等多个前沿领域,全面展示LLC谐振变换器在现代电力系统中的关键技术实现路径。同时,文档附带多种学习资料获取途径,如网盘链接和公众号资源,便于研究人员深入实践与拓展研究。; 适合人群:具备扎实的电力电子、自动控制理论基础,从事新能源发电、开关电源设计、电力系统仿真等相关领域的研究生、工程师及科研人员。; 使用场景及目标:①深入理解LLC谐振变换器的工作原理、建模方法与控制策略;②开展电力电子变换器的仿真验证与参数优化设计;③支撑科研项目、学位论文或工程项目的系统仿真与方案验证; 阅读建议:建议结合所提供的仿真模型与参考文献,使用Plecs或Simulink软件进行动手实践,重点掌握LLC谐振变换器的建模流程、闭环控制设计、软启动机制及参数调试技巧,以全面提升在实际工程中的应用与创新能力。

HDU1058

题目大意:输出第n个(素数因子只能为2、3、5、7(或者关系))的合数 思路:这个水题贴上来是因为第一次打超级长的表啊(哈哈,有意思),常规做法是用指数去四个for循环就搞定了   (打表程序)program:(由于数太大,我是分开来进行for循环的) #include #include #include using namespace std; int t[6000]; i

muxi@Achilles的专栏 4195

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)内容概要:本文主要介绍了基于Plecs的全桥LLC谐振变换器仿真模型,涵盖变频控制下的多相交错LLC谐振变换器闭环仿真、V2G电动汽车ACDC整流与双向CLLC谐振变换器充放电仿真、LLC谐振变换器的开环与闭环软启动设计,以及储能系统中双向Buck-Boost变换器结合模型预测电流控制和电压下垂控制的仿真研究。同时,文档列举了多种电力电子系统与控制策略的Simulink/Plecs仿真案例,涉及三相交错并联Buck变换器、三电平Buck直流变换器、单相Boost PFC电路等,展示了丰富的电力变换器建模与控制技术。此外,还包括参数设计报告、计算书及相关参考文献,适用于从事电力电子、新能源发电、电动汽车充放电系统等领域的研究人员和技术开发人员。; 适合人群:具备电力电子、自动控制理论基础,从事新能源、电动汽车、电力系统等相关领域研究的研发人员、高校研究生及高年级本科生。; 使用场景及目标:① 学习和掌握LLC谐振变换器及其他典型电力电子变换器的工作原理与建模方法;② 实现闭环控制策略如变频控制、软启动、模型预测控制、下垂控制等的仿真验证;③ 支持科研项目、毕业设计或工程开发中的系统仿真与优化设计。; 阅读建议:建议结合文中提供的仿真模型、设计报告与参考文献,逐步搭建并调试相应系统,重点关注控制策略的实现细节与参数整定过程,以深入理解系统动态响应特性与控制性能。

从零开始:面板数据熵值法的Stata实现与常见陷阱解析

本文详细介绍了面板数据熵值法在Stata中的实现步骤与常见陷阱解析。通过熵值法客观赋权特性,科学构建综合指数,特别适合处理多维面板数据。文章涵盖数据预处理、标准化方法选择、Stata代码实现及结果可视化,并针对常见问题提供实用解决方案,助力研究者避免分析误区。

study的专栏 618

暑期多校联合比赛 8-24 K次方

K次方 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 14   Accepted Submission(s) : 7 Font: Times New Roman | Verdana | Georgia Font Size: ← →

muxi@Achilles的专栏 1938

达梦数据库(DM)的备份与恢复功能

本文系统介绍了达梦数据库(DM)的备份与恢复功能,主要包括作业系统和物理/逻辑备份还原两大模块。作业系统部分详细说明了通过代理环境创建定时备份和删除备份作业的步骤;物理备份还原部分阐述了联机和脱机备份方式,包括数据库、表空间、表和归档的备份还原操作;逻辑备份还原部分介绍了dexp/dimp工具的使用方法及四种级别的导入导出功能。文章还介绍了图形化管理工具进行备份还原的操作流程,全面覆盖了达梦数据库的数据保护方案,为数据库管理员提供了详细的技术指导。

weixin_48812832的博客 1211

POJ2773 HAPPY 2006(不能对LL大方之战)

题目大意:就是求m的第k个(升序)与m互质的数。 思路:看了discuss才知道欧拉函数 的一个性质可以解决这道题:就是如果在[1,m]之间有cnt个数和m互质,即欧拉函数为cnt,那么在[n*m+1,(n+1)*m](n为正整数)区间内的欧拉函数也为cnt,即是有循环节。这就好办了,循环节最大才为100万,那么找到k/cnt这个区间,就可以枚举求得第K个数了。不过我写的实在很猥琐,1670ms

muxi@Achilles的专栏 1739

Rocky Linux 9.2:利用LVM动态调整/home与/根分区空间分配

本文详细介绍了在Rocky Linux 9.2系统中,如何利用LVM(逻辑卷管理器)动态调整/home与根分区(/)的空间分配。针对根分区空间不足而/home分区闲置的常见问题,文章提供了从检查磁盘布局、备份数据、卸载分区、调整逻辑卷大小到重建文件系统的完整操作步骤,并重点说明了XFS与EXT4文件系统在缩容时的不同处理方法,帮助系统管理员安全、在线地实现存储空间的灵活调配。

weixin_29271263的博客 178

单像素成像技术原理与Matlab仿真实现

傅里叶变换是数字图像处理的核心数学工具,它将图像从空间域转换到频率域表示。基于傅里叶频谱分析的成像技术通过采集关键频率分量实现图像重建,这种原理催生了单像素成像这一创新技术。单像素成像利用空间光调制器和单个探测器直接测量傅里叶系数,结合压缩感知算法实现高效成像,在红外、太赫兹等特殊波段展现出独特优势。通过Matlab仿真可以验证傅里叶基测量矩阵的构建、压缩感知重建等关键技术环节,为实际系统开发提供理论基础。该技术在弱光环境成像、显微观测等领域具有重要应用价值,其低成本特性也大大降低了特殊波段成像的门槛。

weixin_29061425的博客 345

《数论》3.6习题3------求一元线性同余方程所有解(不是方程组)基础练习例子&&求逆元

且当做模板: program: #include #include #include #include #include using namespace std; //求6789783*x≡2474010 (mod28927591)的所有解 //即是:ax≡b(mod m)的所有解 int ans[1000000]; void exgcd(int a,int b,int &d,int &x

muxi@Achilles的专栏 1736

基于STM32F4的NRF24L01驱动程序

基于STM32F4xx的NRF24L01驱动程序 提示:硬件平台基于STM32F427VIT6、NRF24L01模块 文章目录基于STM32F4xx的NRF24L01驱动程序前言一、NRF24L01简单介绍1,什么是NRF24L012,NRF24L01通信方法3,NRF24L01通信原理4,地址分配&通道分配问题二、STM32CubeMX配置三、添加底层文件1,添加.c/.h文件到工程中2,使用说明四,下载 前言 提示:本例程采用STM32CubeMX配置底层,采用硬件SPI方式驱动NRF24

qq_43603289的博客 2814

POJ2042 Lagrange's Four-Square Theorem

题目大意:拉格朗日定理:每个自然数均可以表示成4个正整数的平方数之和。下面这一句,不知所云:3个平方数之和不能表示形式如4^k(8n+ 7)的数。 如果在一个正整数的因数分解式中,没有一个数有形式如4k+3的质数次方,该正整数可以表示成两个平方数之和。     思路:暴力枚举,但是不必为每个n来验证,而是让四个数滚动起来,只要小于2^15的就可以保存并在此基础上统计个数,然后打个表~~撸过~~

muxi@Achilles的专栏 1586

解决k8s核心组件calico pod资源不创建问题

解决k8s核心组件calico pod资源不创建问题 1.问题描述 由于K8S集群Master节点故障,导致calico网络组件虽然处于Running状态,但是一直无法准备就绪,如下图所示 calico-node-lpt7h运行在master节点,第一时间紧急处理方法就是将其pod删除,让K8S自动重建该pod,使整个集群快速恢复 但是就当我将calico-node-lpt7h pod删除后,该pod始终无法自建,就好像是从来没有这个pod似的 2.解决方法 期初排查时,我觉得可能是由于当前master

江晓龙的博客 4807

玩转Docker小游戏项目系列: Docker部署中国象棋网页小游戏

玩转Docker小游戏项目系列: Docker部署中国象棋网页小游戏

jks212454的博客 440

求1亿内的素数个数

筛法 program:(足足要5s) #include #include #include #include #include using namespace std; int ff[100000000]; int pp[10000000]; int main() { for(__int64 i=2;i*i<=100000000;i++) if(!ff[i])

muxi@Achilles的专栏 1418

一文搞懂蚁群算法Ant Colony Optimization(ACO)!!!(灵感起源+数学原理+代码实现+实战应用)

本文系统介绍了蚁群算法的原理与实现。首先从蚂蚁觅食行为出发,阐释了信息素正反馈机制如何引导群体找到最短路径。随后详细解析了算法的数学模型,包括状态转移规则和信息素更新机制。通过MATLAB代码演示了算法在旅行商问题(TSP)中的应用,展示了路径构建和优化的完整流程。最后讨论了算法的优势、局限性和实际应用场景。蚁群算法通过模拟生物智能,为解决复杂优化问题提供了一种高效方法,其核心在于信息素的正反馈机制与随机探索的平衡。

qq_42212808的博客 887

暑期第一次多校联合赛 I题 数学题

Problem I. 数学 Time Limit: 1000ms Memory Limit: 65536kb Description 给出数列A1;A2; : : : ;AN,并设 Bi =  (A1 * A2 *  AN /Ai  )  mod (109 + 7) 现要求把所有的Bi 算出来。 Input 输入包含多组测试数据。对于每组数据,第1 行,1 个整数N(1 

muxi@Achilles的专栏 1348

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

nefu 117 大数素数个数的位数

素数个数的位数 Time Limit 1000ms Memory Limit 65536K description 小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小

muxi@Achilles的专栏 1289

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

gcd 与 lcm

题目描述:                                    G - GCD & LCM Crawling in process...Crawling failedTime Limit:1000MS    Memory Limit:32768KB   64bit IO Format:%lld & %llu SubmitStatus Descriptio

muxi@Achilles的专栏 1198

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

POJ1284 Primitive Roots

题目大意:原根模板题&&欧拉函数模板题,求出模P的原根; 思路:首先根据定理:模m有原根的充要条件:m=1,2,4,p^n,2p^n,其中p是奇素数。 如果模m有原根的话,原根的个数是:φ(φ(m))在此题,p直接给出是奇素数,那就简单了 直接:φ(p-1)撸过去~~就转化成欧拉函数的模板题了      附上理论(来自百度百科):  原根的定义  原根Primitive Root。

muxi@Achilles的专栏 1180

POJ2635 The Embarrassed Cryptographer (同余)

题目大意:给出一个大数K 思路:大数取余。为了避免TIE使用了1000进制。因为只是一次运算所以不必逆置数组。说实在的,10进制想不通为什么会TIE啊~~囧~~求大牛指教啊~~现在的计算机1s不是已经能处理10^8的执行次数了吗?10进制一个100W的素数就只是n*logn的算法就只是2*10^7次执行次数嘛~~下面的枚举素数的时候,n*m的算法嘛~~100w内的素数个数只有78498个嘛~~就

muxi@Achilles的专栏 1138

POJ 1775 Sum of Factorials

题目大意:给出n,判断其是不是可以这样表示的数:9=1!+2!+3! 思路:我的做法dfs无限tie了,,看了别人的解题报告,才写出来的。 方法一:贪心,从最大的数(9!)开始减,遇到能减的都减!最后n如果为0,则可以!原理是:a!+b!+c!+d!(a d!>a!+b!+c!,如果n不减去d!的话,那么剩下的阶乘的和绝对不能把n搞死!  但是,当n减去d!又小于c!的时候怎么办呢?同理可得

muxi@Achilles的专栏 1054

扩展Euclid小小总结

前面我们说过,gcd(a,b)可以表示为a和b的最小的正线性组合。现在我们就要求这个最小的正线性组合ax+by中的x和y。这个可以利用我们的Euclid算法。 从最简单的情况开始。当b=0时,我们取x=1,y=0。当b≠0时呢? 假设gcd(a,b)=d,则gcd(b,a mod b)=d。若我们已经求出了gcd(b,a mod b)的线性组合表示bx'+(a mod b)y',则 gcd(

muxi@Achilles的专栏 1045
上一篇: 递归基础认识 从快速幂开始
下一篇: 扩展Euclid小小总结
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值