励志用更少的代码做高效的表达


题意:

计算π/4 = 1 - 1/3 + 1/5 - 1/7 + …,直到最后一项小于10^-6。

思路分析:

本题很简单,因此计算重心从解题转化为优化。
本题为重复计算,但只有算完一项后,才知道它是否小于10^-6,也就是说,循环终止判断是在计算之后,而不是计算之前,因此最佳解法显然是使用do-while循环,但紫书中并未给出该种解法,因此笔者写了这篇博文以供参考

代码:

#include<cstdio>
int main() {double num = 1, n = 1;bool flag = false;do {flag ? (num += 1/(n*2+1)) : (num -= 1/(n*2+1)) ;flag = !flag; }while((1/((n++)*2+1)) >= 1e-6);printf("%.6f", num);return 0;
}

择苦而安,择做而乐,虚拟现实终究比不上真实精彩之万一。

11行代码AC——比紫书优化,例题2-3 近似计算——解题报告相关推荐

  1. 14行代码AC——习题5-4 交换学生(Foreign Exchange, UVa 10763)——解题报告

    励志用少的代码做高效的表达 题目(提交)链接→UVa-10763 本题为水题,因此侧重点由解题转向优化. 题意:判断第一列的数字是否与第二列的数字相同(乱序).解题方向多样,值得探究: 1.map哈希 ...

  2. 25行代码AC——习题5-7 打印队列(Printer Queue,UVa 12100)——解题报告

    励志用尽量少的代码做高效的表达. 题目(提交)链接→UVa-12100 题目描述: 我们需要用打印机打印任务.每个任务都有1~9间的优先级,优先级越高,任务越急. 打印机的运作方式:从打印队列里取出一 ...

  3. L1-008 求整数段和(解题报告 C语言实现)(11行代码AC~!)

    立志用更少的代码做更高效的表达 给定两个整数A和B,输出从A到B的所有整数以及这些数的和. 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔. 输出格式: 首先 ...

  4. 蓝桥 试题 基础练习 杨辉三角形——11行代码AC

    注意点: 1.本质上是一道找规律的二维数组题(二维数组题多是这样,摆个阵,叫你找规律). 2.直接判断,a[i][j]等于a[i-1][j]+a[i-1][j-1]:的值 3.写数列时很容易想到用二维 ...

  5. 11行代码AC——习题2-4 子序列的和(subsequence)——解题报告

    励志用尽量少的代码做高效的表达. 题目描述: 输入两个正整数n<m<106,输出1/(n²)+1/((n+1)²)+--+1/(m²),保留5位小数.输入包含多组数据,结束标记为n=m=0 ...

  6. 22行代码AC,三种解法——例题3-6_环状序列(UVa-1584)

    励志用尽量少的代码做高效表达 题目(提交)链接-->Uva-1584 因为是水题,因此做题重心由解题转向优化 核心思路: 本题共有三种解法: 解法一.string字符串中assign()+era ...

  7. 12行代码AC——L1-058 6翻了(15分)

    立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...

  8. 16行代码AC——例题6-4破损的键盘(Broken Keyboard,UVa 11988)——解题报告

    励志用尽量少的代码做高效的表达. 题目(提交)链接→UVa-11988 题目大意: 输入一个字符串,输出在原本应该是怎么样的? 具体方法是: 若读取到'[', 则执行Home键:将光标移到行首. 若读 ...

  9. Python3,11行代码解密摩斯电码,真実はいつもひとつ。

    11行代码破解摩斯密码 1.引言 2.代码示例 2.1摩尔斯电码科普 2.2 加密 2.3 解密 3.总结 1.引言 小屌丝:鱼哥,快来求助求助! 小鱼:嗯? 啥事,让你这么慌慌张张的? 小屌丝:刚刚 ...

最新文章

  1. MySQL数据库中默认事务隔离级别是?
  2. linux里引号注意点
  3. 积跬步,聚小流-------js实现placeholder的效果
  4. Python基础-函数,高阶函数
  5. 八类网线和七类网线的区别_Cat8 八类网线与超五类网线、六类网线、超六类网线及七类/超七类网线的区别...
  6. windows phone:使用sqlite-net
  7. 非常难得的 CMOS sensor 工作原理的深入技术科普
  8. 1024 科学计数法(C语言)测试点4详解
  9. ECharts中国区域地图
  10. 3G手机J2ME开发环境搭建(eclipse3开发j2me环境搭建)
  11. 五天带你学完《计算机网络》,期末考试不挂科
  12. 06.看板实践——限制在制品
  13. vue中设置移动的盒子
  14. GreenPlum的Primary和Mirro切换恢复
  15. 用于自动驾驶的激光雷达里程计方法综述
  16. Oracle--“ORA-28007: the password cannot be reused”解决
  17. 倒置字符串 将一句话的单词进行倒置,标点不倒置。
  18. 【肺实质分割】基于主动轮廓模型和贝叶斯方法识别实现胸膜旁肺实质分割附matlab代码
  19. Python财务分析-Pandas基础
  20. QQ空间打不开,IE里无法运行脚本的解决方案 转自:spookfox.cublog.cn

热门文章

  1. 执行maven clean package 时报OutOfMemoryError的解决办法
  2. Java 程序优化:字符串操作、基本运算方法等优化策略
  3. Django模版(三)
  4. 大牛书单 | 云原生技术领域好书推荐
  5. 云主机实现外网转发访问内网的 Redis 和 MongDB 数据库
  6. float double 的存储方式
  7. 一文彻底了解Logstash
  8. Hadoop 02_初学必知
  9. leetcode 622. Design Circular Queue | 622. 设计循环队列(Ring Buffer)
  10. leetcode 240. Search a 2D Matrix II | 240. 搜索二维矩阵 II(Java)