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; }
查看全文
相关阅读:
java8
Python isinstance()
Python3 File next()
np.array() 与 np.mat() 比较
np.nonzero()
np.dot()
算法之归并排序的应用 —— 小和问题以及逆序对问题
递归过程以及递归master公式
算法之异或运算及其应用
算法之二分法及其应用
原文地址:https://www.cnblogs.com/windmissing/p/2559886.html
最新文章
「SGU206」Roads
「CF1368G」Shifting Dominoes
「CF321D」Ciel and Flipboard
「CF765F」Souvenirs
「CF848D」Shake it!
CSP-S2021 捡漏记
CSP-S 2021 括号序列
yLOI2018 扶苏的问题
ZROI Day11-Day20 笔记
CERC2014 Outer space invaders
热门文章
合并石子 (不是你想象的那个合并石子
退役划水二
一些吐槽
论堕落的理论性
P4071 [SDOI2016]排列计数 题解
jupyter notebook 使用(实验室电脑)
如何在微信小程序中使用Echarts
Vue基础——将原生事件绑定到组件
递归那点事(下)
递归那点事(上)
Copyright © 2011-2022 走看看