hdu 6217 BBP Formula
题目链接
求PI的十六进制表示的小数点后第n位是多少,看其他博主说要求第n位,只需要把16进制下的小数点挪到第n-1位和第n位之间,即*16^(n-1),然后去掉整数部分,小数部分再乘16得到的整数部分即是第n位
公式分解详解https://blog.csdn.net/meopass/article/details/78327614
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;char change(int ans){if(ans>=0&&ans<=9)return ans+'0';return ans+55; //十六进制转换
}ll quick_pow(ll a,ll b,ll mod){ //快速模幂ll ans=1;while(b){if(b&1)ans=ans*a%mod;b>>=1;a=a*a%mod;}return ans;
}double bbp(int n,ll k,ll b){ //bbp公式double res=0;for(int i=0;i<=n;i++){res+=(quick_pow(16,n-i,8*i+b)*1.0/(8*i+b)); //保证高精度}for(int i=n+1;i<=n+1+1000;i++){res+=(pow(16,n-i)*1.0/(8*i+b)); //直接求幂 }return k*res;
}int main(){int t,n,cnt;cnt=0;scanf("%d",&t);while(t--){cnt++;scanf("%d",&n);n--;double ans=0;ans=bbp(n,4,1)-bbp(n,2,4)-bbp(n,1,5)-bbp(n,1,6); //小数部分ans=ans-int(ans);if(ans<0)ans+=1;ans*=16; //整数部分char result=change(ans);printf("Case #%d: %d %c\n",cnt,n+1,result);}return 0;
}
hdu 6217 BBP Formula相关推荐
- HDU 6217 BBP Formula (数学)
题目链接: HDU 7217 题意: 题目给你可以计算 \(π\) 的公式: \(\pi = \sum_{k=0}^{\infty}[\frac{1}{16^k}(\frac{4}{8k+1})-(\ ...
- BBP算法计算圆周率(BBP Formula HDU - 6217)
概述 BBP算法求圆周率π,它的优点在于可以直接求出圆周率的某一位d开始的一串数字,而不依赖于第d位之前的数字,传统的算法需要一位位地求.BBP算法节省了一大部分时间和内存,但BBP所求的圆周率是用1 ...
- 【BBP 算法】HDU 6217
1.最近看到有学弟在说BBP算法,然后就写一下这个东东. 2.BBP其实是三个人,然后这个算法是干嘛的嘞,其实是快速的求某些无理数的第n为数字或者第n位以后的一串数字.比如求PI,log2,log3等 ...
- 【HDU 6217 2017ACM/ICPC亚洲区沈阳站】BBP Formula
BBP算法的一个模板 #include <cstdio> #include<iostream> using namespace std; typedef long long l ...
- hdu 6217 A BBP Formula 公式题
https://zh.wikipedia.org/wiki/%E8%B4%9D%E5%88%A9-%E6%B3%A2%E5%B0%94%E6%B8%A9-%E6%99%AE%E5%8A%B3%E5%A ...
- HDU6217 BBP Formula
简略题意:问π的十六进制表示的小数点后第n位是多少. 关于BBP公式详见WIKI百科 这个公式的作用就是计算十六进制下的小数点后第n位,而不必计算前n-1项. π=∑∞k=0[116k(48k+1)− ...
- BBP Formula HDU6217
大致题意是计算Π的小数点后第n位的值. 这道题最主要的地方是bbp公式 圆周率每乘以一个16,就相当于把十六进制的圆周率小数点向右移动一位,移动b位就是乘以16^b,而BBP公式给出的级数,可以分解成 ...
- hdu6217 - BBP Formula
链接 点击跳转 题解 先乘以16n−116^{n-1}16n−1 现在就是要计算小数后面第一位 假设16n−k=t(8k+1)+r16^{n-k} = t(8k+1) + r16n−k=t(8k+1) ...
- C# BBP公式计算π
BBP公式可以直接计算出小数点后d位的数,不依赖第d位之前的数字,计算结果为16进制. BBP公式 : 核心公式 π=∑k=0∞{116k(48k−1−28k+4−18k+5−18k+6)}(1)\p ...
最新文章
- 苹果被曝重大系统漏洞:新款MacBook、iPhone 12、iPad Pro统统波及!root权限秒获取,隐私文件随意看...
- 基于Pytorch再次解读GoogLeNet现代卷积神经网络
- HDU 4946 Area of Mushroom 凸包
- angular 指令
- python中index函数_详解python中的index函数用法
- [网络安全提高篇] 一〇四.网络渗透靶场Oracle+phpStudy本地搭建万字详解(SQL注入、XSS攻击、文件上传漏洞)
- 浅谈最小生成树的算法思路(一)Prim算法
- VS2005 .vs. Orcas
- 【python】os模块 递归删除文件夹所有文件 --笔记
- C++之指针探究(十):this指针
- npm设置仓库register
- h5页面如何切图_HTML5自助切图
- hdmi接口有什么用_当贝投影仪HDMI(ARC)接口是什么意思?
- 单相全桥逆变电路MATLAB仿真,原理图设计,单相全桥逆变器设计资料,ti的参考,可用做光伏并网逆变器
- 基于Arduino的密码+指纹智能锁(LCD1602显示器)
- 网页浏览flash时不停黑屏
- 冶金物理化学复习 --- 典型熔渣模型
- 第五章 执行计划详解
- PHP与ECMP,2019 NECMP东北音乐产业发展论坛在沈举行
- Linux系统信息收集
热门文章
- 模拟电路3(三极管及其基本放大原理)
- 美国计算机工程专业,2018年美国大学本科计算机工程专业Top10
- 由ThinkServer RQ940死机到系统无法引导带来的感想
- 【钟表识别】基于计算机视觉实现钟表时间识别含Matlab源码
- 【智能制造】见识一下某航空企业的智能制造技术架构!
- Victoria的舞会2——图的连通性及连通分量
- 广告动画 android,age动漫官方网软件app-AGE动漫无广告纯净版下载v1.4安卓版-西西软件下载...
- 第一个panda3d C++程序
- 考研作文重点框架、句子、词汇总结
- 【转载】爸妈,求你们不要这么懂事