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; }
查看全文
相关阅读:
U盘分区 将一个u盘分为3个区
InnoDB索引最通俗的解释
Centos7 安全加固
final/static
Java继承,方法重写
UnrealEngine4血溅效果
UnrealEngine4第一人称射击游戏之触碰掉血与掉盔甲功能实现
UnrealEngine4第一人称射击游戏UI
String字符串
构造方法
原文地址:https://www.cnblogs.com/windmissing/p/2559886.html
最新文章
Java 8
通过 Hibernate 实现 JPA 对象关系模型之继承映射策略
[译]深入理解JVM Understanding JVM Internals
Buck工作原理分析,连续模式,断续模式
C#之数据类型学习
matlab学习笔记---(1)
TSL1401线性CCD TM32F103开发平台移植源代码
基于STM32的平衡车机器人设计-硬件电路设计
毕业回馈-89C51之数码管的使用
MPU6050学习笔记(电源管理器1、2)
热门文章
毕业回馈-89c51之定时器/计数器(Timer/Count)
毕业回馈-89c52之最小系统
毕业回馈-89C51之GPIO使用(流水灯)
绘制五角星
Centos7 samba文件共享搭建
我终于搞清了啥是 HTTPS 了
Python Socket TCP 实现一个两端聊天功能
Python Socket UDP 实现一个两端聊天功能
Python Re模块
Nginx 详解:Nginx 是什么? 能干嘛?
Copyright © 2011-2022 走看看