数学——洛谷P1045 麦森数
来源:互联网 发布:mac book pro 型号 编辑:程序博客网 时间:2024/06/15 14:27
https://www.luogu.org/problem/show?pid=1045
高精度对于这道题是没什么难度的;
毕竟我的高精度模版还是很好的;
高精的时候只要保留最后500位就好啦;
那这个怎么求位数呢?
??????
看了一下题解,我靠对数
我靠log
我靠普及提高-;
不行,我要去学对数了
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define Ll long longusing namespace std;const Ll NN=1e1;const int N=1;struct H{ int a[10000],len; H(){memset(a,0,sizeof a);len=1;} void clear(){memset(a,0,sizeof a);len=1;}}a;H in(int x){ H a; if(!x)return a; a.len=0; while(x){a.a[++a.len]=x%NN;x=x/NN;} return a;}int check(H a,H b){ if(a.len>b.len)return 1; if(a.len<b.len)return -1; for(int i=a.len;i;i--) if(a.a[i]!=b.a[i]) if(a.a[i]>b.a[i])return 1;else return -1; return 0;}H jian(H a,H b){ if(check(a,b)==0){H c;return c;} for(int i=1;i<=b.len;i++)a.a[i]-=b.a[i]; for(int i=1;i<=a.len;i++) if(a.a[i]<0){a.a[i]+=NN;a.a[i+1]-=1;} if(!a.a[a.len])a.len--; return a;}H chen(H a,H b){ H z; z.len=a.len+b.len+2; for(int i=1;i<=a.len;i++) for(int j=1;j<=b.len;j++)z.a[i+j-1]+=(a.a[i]*b.a[j]); for(int i=1;i<=z.len;i++)z.a[i+1]+=z.a[i]/NN,z.a[i]%=NN; while(z.len>1&&!z.a[z.len])z.len--; z.len=min(1000,z.len); return z;}H ksm(H a,int n){ if(n==0)return in(1); if(n==1)return a; H c=ksm(a,n>>1); c=chen(c,c); if(n&1)c=chen(c,a); return c;}int p,sum=500;int main(){ scanf("%d",&p); a=jian(ksm(in(2),p),in(1)); cout<<int(p*log10(2)+1)<<endl; while(sum){ if(a.len<sum)printf("0");else printf("%d",a.a[sum]); if(--sum%50==0)printf("\n"); }}
1 0
- 数学——洛谷P1045 麦森数
- 洛谷 P1045 麦森数
- 洛谷 P1045 麦森数
- 洛谷 P1045 麦森数
- 洛谷P1045 麦森数
- P1045 麦森数
- 快速幂+分治(洛谷P1045 麦森数 noip2003)
- TYVJ P1045 最大的算式
- ZOJ P1045 HDOJ P1056 HangOver
- lightoj1138数学—数学小知识点
- 数学的趣味—数学函数
- 数学——洛谷 P2312 解方程
- 算法——数学
- 数学——流形
- 数学——测度
- 数学——散度
- 数学——梯度
- 数学——篝题
- 虚拟机搭建CDH-第三讲-虚拟机安装linux1
- HDU 1556:Color the ball
- <%@ page isThreadSafe="true|false" %>
- mysql-5.7.18 zip版安装方式
- 基于XMPP协议的Android即时通信应用
- 数学——洛谷P1045 麦森数
- VC下2、4、8、16、24、32位位图的数据解析与显示
- 89-非阻塞 accept
- ERROR 1044 (42000): Access denied for user ”@’localhost’解决办法
- printf()格式化输出详解
- 决策树学习
- 控制器controller与指令中的link、controller中同名变量作用域的关系
- 二进制位运算(与、或、异或、取反)
- InputMethodManager造成的内存泄漏问题及解决方法