zoukankan
html css js c++ java
HDU3524 Perfect Squares 数论
/* 还是暴力打表,然后规律 递推公式: a[n]=4*a[n-1]+5(n为奇数) a[n]=4*a[n-2]+5(n为偶数) 结果: ans=2*4^n-5*(4^n-1)/3(n为奇数) ans=2*4^n-4*(4^n-1)/3(n为偶数) 这里由于涉及到除法取余,所以还要把3的逆元求出来 */ #include<stdio.h> #include<stdlib.h> #define mod 10007 //非递归方法求p^b __int64 power(__int64 p,__int64 b) { __int64 sq=1; while(b>0) { if(b%2==1) sq=(sq%mod)*(p%mod)%mod; p=(p%mod)*(p%mod)%mod; b=b/2; } return sq%mod; } int main() { __int64 n,tmp,a,b,thr,t,T; scanf("%I64d",&T); for(t=1;t<=T;t++) { scanf("%I64d",&n); thr=power(3,mod-2); if(n==1||n==2) { printf("Case #%I64d: 2\n",t); continue; } //2*4^n-5*(4^n-1)/3 if(n&1) { n=n-2; n=(n+1)/2; tmp=power(4,n); a=2*tmp%mod; b=(5*thr%mod)*(((tmp-1)%mod+mod)%mod)%mod; printf("Case #%I64d: %I64d\n",t,((a-b)%mod+mod)%mod); } //2*4^n-4*(4^n-1)/3 else { n=n-2; n=n/2; tmp=power(4,n); a=2*tmp%mod; b=(4*thr%mod)*(((tmp-1)%mod+mod)%mod)%mod; printf("Case #%I64d: %I64d\n",t,((a-b)%mod+mod)%mod); } } return 0; }
查看全文
相关阅读:
[LeetCode 题解]: Triangle
[LeetCode 题解]: pow(x,n)
[LeetCode 题解]: plusOne
[LeetCode 题解]: ZigZag Conversion
error: field 'b' has imcomplete type
两个分数的最小公倍数
DDR工作原理
流水线技术原理和Verilog HDL实现
FPGA主要应用
提高器件工作的速度
原文地址:https://www.cnblogs.com/windmissing/p/2559886.html
最新文章
CSS学习总结1
jquery学习总结1
Java中如何获取当前操作系统的相关信息
关于SSH框架的基础知识点总结
mysql中的索引原理与表设计
在Linux系统中安装JDK
java 中使用线程池处理文件夹下面的子文件
Notepad++进行php开发所必需的插件
Notepad++ --v7.5.8 (64bit) 安装目录显示插件(Explorer)
目前比较火的前端框架及UI组件
热门文章
mysql多表查询
如何让linux时间与internet时间同步(centos)
Nginx的启动、停止与重启
Nginx下配置网站ssl实现https访问
CSS强制英文、中文换行与不换行
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
[LeetCode 题解]: Maximum Depth of Binary Tree
[LeetCode 题解]: Minimum Depth of Binary Tree
[LeetCode 题解]: UniquePaths
[LeetCode 题解]: Pascal's Triangle
Copyright © 2011-2022 走看看