HDU-6217 BBP Formula 脑洞
题目链接:https://cn.vjudge.net/problem/HDU-6217
题意
已知:
\]
求pi的16进制下小数点后第n位是多少。
n<=1e5
思路
要算pi的第n位,首先把pi向前移n位,则个位上就是要求的数。
但是我们很快发现难以计算这个个位数(乘法逆元可能不存在,精度也有问题)。
然而通过脑洞,我们可以去算第一位小数,然后乘以16取个位即可。
提交过程
AC | 可惜场上没想出来 |
代码
#include <cstdio>
#include <cstring>
double powmod(int idx, int mod){
long long tmp=16, res=1;
for (int i=0; (1<<i)<=idx; i++){
if (idx&(1<<i)) res=(res*tmp)%mod;
tmp=(tmp*tmp)%mod;
}
return res/(double)mod;
}
int solve(int n){
double res=0;
n--;
for (int i=0; i<=n; i++){
res+=4*powmod(n-i, 8*i+1)-2*powmod(n-i, 8*i+4)
-powmod(n-i, 8*i+5)-powmod(n-i, 8*i+6);
if (res<0) res+=1;
}
res*=16;
return ((int)res)%16;
}
int main(void){
int T, n, kase=0;
char hex[20]="0123456789ABCDEF";
scanf("%d", &T);
while (T--){
scanf("%d", &n);
printf("Case #%d: %d %c\n", ++kase, n, hex[solve(n)]);
}
return 0;
}
Time | Memory | Length | Lang | Submitted |
---|---|---|---|---|
4180ms | 1204kB | 725 | G++ | 2018-08-30 18:47:46 |
HDU-6217 BBP Formula 脑洞的更多相关文章
- HDU 6217 BBP Formula (数学)
题目链接: HDU 7217 题意: 题目给你可以计算 \(π\) 的公式: \(\pi = \sum_{k=0}^{\infty}[\frac{1}{16^k}(\frac{4}{8k+1})-(\ ...
- hdu 6217 A BBP Formula 公式题
题意 已知公式:$\pi=\sum_{k=0}^{\infty}\left[\frac{1}{16^{k}}\left(\frac{4}{8 k+1}-\frac{2}{8 k+4}-\frac{1} ...
- 【HDOJ6217】BBP Formula(公式)
题意:给定一个无穷项的分式,它的和等于π,问π的十六进制表示的小数点后第n位是多少 1 ≤ n ≤ 100000 思路:From https://blog.csdn.net/meopass/artic ...
- UVALive-8201-BBP Formula
8201-BBP Formula Time limit: 3.000 seconds In 1995, Simon Plouffe discovered a special summation sty ...
- ACM-ICPC 2017 Asia Shenyang Solution
A: BBP Formula https://www.cnblogs.com/LzyRapx/p/7802790.html #include <bits/stdc++.h> using n ...
- hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语
题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44 题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输 ...
- HDU 2139 Calculate the formula
http://acm.hdu.edu.cn/showproblem.php?pid=2139 Problem Description You just need to calculate the su ...
- hdu 5139 Formula
http://acm.hdu.edu.cn/showproblem.php?pid=5139 思路:这道题要先找规律,f(n)=n!*(n-1)!*(n-2)!.....1!; 不能直接打表,而是离 ...
- HDOJ(HDU) 2139 Calculate the formula(水题,又一个用JavaAC不了的题目)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 看到这个时间,我懵逼了... 果然,J ...
随机推荐
- 0929关于MySQL操作规范(总结)
用户权限管理 创建用户 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: Username所创建的用户名 host 指定该用 ...
- [bzoj1660][Usaco2006 Nov]Bad Hair Day_单调栈
Bad Hair Day bzoj-1660 Usaco-2006 Nov 题目大意:n头牛站成一列,每头牛向后看.f[i]表示第i头牛到第n头牛之间有多少牛,使得这些牛都比i矮,且中间没有比i高的牛 ...
- C - A Simple Problem with Integers
C - A Simple Problem with Integers POJ - 3468 思路:线段树区间修改区间查询.又出现了 C++ WA G++ AC的尴尬局面. #include& ...
- [Javascript Crocks] Understand the Maybe Data Type
In this lesson, we’ll get started with the Maybe type. We’ll look at the underlying Just and Nothing ...
- 【Storm】storm安装、配置、使用以及Storm单词计数程序的实例分析
前言:阅读笔记 storm和hadoop集群非常像.hadoop执行mr.storm执行topologies. mr和topologies最关键的不同点是:mr执行终于会结束,而topologies永 ...
- Nova和Heat中的servergroup
如今nova能够通过命令创建一个server group,在server group中的vm能够指定一些policy. 这些policy包含affinity和anti-affinity.affinit ...
- [NodeJS]使用Node.js写一个简单的在线聊天室
声明:教程来自<Node即学即用>.源代码案例均出自此书.博文仅为个人学习笔记. 第一步:创建一个聊天server. 首先,我们先来写一个Server: var net = require ...
- hive正則表達式
hive中实现正則表達式,与java中的正則表達式有所差别: 这里经过探索总结了一些: hive中的正则能够用,可是有所差别,差别在于原来的'\' 转义,这里变成了双斜杠了'\\' hive中的正则解 ...
- 【cl】Red Hat Linux虚拟机安装Vmware Tools
1.选择虚拟机,选中导航栏虚拟机>VMware Tool安装 选择右键>extract to 选择/home,新建了自己的文件夹,然后点击extract 一直enter,一直到 然后reb ...
- Database Design for Sexbale Forum
Mars March 17, 2015