【洛谷 1045】 麦森数
来源:互联网 发布:centos7 yum安装lnmp 编辑:程序博客网 时间:2024/06/08 10:58
思路
首先是输出位数,设位数是
然后是输出前500位,那就要暴力高精度了,用上快速幂,跑的不算慢。
代码
#include <cmath>#include <cstdio>#include <iostream>#include <cstring> using namespace std;struct _int{ int a1[510]; _int(){memset(a1, 0, sizeof a1);} _int operator * (const _int &t)const{ _int ans; for(int i = 1; i <= 500; i ++) for(int j = 1; j <= 500; j ++) if(i+j-1 <= 500) ans.a1[i+j-1] += a1[i]*t.a1[j]; for(int i = 1; i <= 500; i ++) if(ans.a1[i]/10) ans.a1[i+1] += ans.a1[i]/10, ans.a1[i] %= 10; return ans; } void operator = (const int t1){ _int(); int len = 0, t = t1; while(t) a1[++len] = t%10, t /= 10; } void print(){ for(int i = 500; i >= 2; i --){ if(i%50 == 0) printf("\n"); printf("%d", a1[i]); } printf("%d", a1[1]-1); }};int main(){ int n; scanf("%d", &n); double y = log(2)/log(10); printf("%d", (int)(n*y)+1); _int a, b; a = 2, b = 1; for( ; n; n >>= 1, a = a*a) if(n&1) b = b*a; b.print(); return 0;}
1 0
- 洛谷1045 麦森数
- 【洛谷 1045】 麦森数
- 麦森数-洛谷 1045
- 洛谷 P1045 麦森数
- 洛谷 P1045 麦森数
- 洛谷 P1045 麦森数
- 洛谷P1045 麦森数
- 数学——洛谷P1045 麦森数
- 洛谷Oj-麦森数-高精度快速幂
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 麦森数
- 斐波那契数列
- Android app内存管理的16点建议
- 解决windows7 下svchost进程占用cpu高问题
- 树、二叉树、森林的转换
- Android 性能优化 StrictMode使用
- 【洛谷 1045】 麦森数
- 图论开动
- TAUCS库的编译(vs2010)
- tld文件中标签的含义
- ROSCon 2016会议PPT和视频链接
- 二叉搜索树的后序遍历序列
- 正确规避野指针姿势
- java多线程学习(一)
- 文件锁