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; }
查看全文
相关阅读:
Java Lambda表达式初探
解开lambda最强作用的神秘面纱
常用正则表达式
js,java时间处理
Java 8新特性探究(二)深入解析默认方法
Java 8里面lambda的最佳实践
lambda表达式和闭包
Lambda语法篇
lambda表达式
依赖注入和控制反转的理解
原文地址:https://www.cnblogs.com/windmissing/p/2559886.html
最新文章
linux下top命令详细介绍
LINUX进程ps -ef和ps -aux的区别及格式详解
SparkSQL DSL 随便写写
SparkSQL DSL开发(Old)
axis2开发webservice接口入门到精通详解(转)
eclipse memory analyzer对系统内存溢出堆文件解析0(转)
eclipse memory analyzer对系统内存溢出堆文件解析(转)
jdk工具(转)
JVM -XX: 参数介绍
采用短网址生成方法,生成一个唯一的短字符串。 然后保存到数据库中,与源数据一一对应,新的系统,从数据库中取到相应的数据 (转)
热门文章
BASE64Encoder及BASE64Decoder查看源代码方法
rabbit mq 基础流程(转)
java调js基础
MyBatis注解开发-@Insert和@InsertProvider(转)
ftp服务器搭建(离线安装vsftpd),配置
linux常用命令
修改记录
一般性接口开发规范
使用@JsonFormat引起的时间比正常时间慢8小时解决方法
lambda表达式与方法重载问题
Copyright © 2011-2022 走看看