为了参加学校的社团风采展,怡山小学数学组的同学们决定画一座圆周率山,以宣传圆周率。
已知圆周率为:3.
1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679
8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196
输入格式:
输入山的高度,为一个不超过10的正整数。
输出格式:
以上尖下宽,左右对称的三角形形式,给出圆周率的前若干位(不含小数点)。注意:每行均以数字结尾,即数字右边无空格。
输入样例1:

1

输出样例1:

3

输入样例2:

4

输出样例2:

   314159265
3589793

(摘自pintia.cn)

解答:

 1 #include<iostream>
 2 #include<string>
 3 #include<iomanip>
 4 #define PI "314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196"
 5 using namespace std;
 6 int main()
 7 {
 8     string str(PI);            //初始化字符串
 9     int height,weight,mark(0);        //height为高度,weight为底层的宽度,mark用于记录截取字符串的位置
10     cin>>height;                    //输入高度
11     weight=height*2-1;                //计算底层宽度
12     string *p=new string[height];    //动态分配字符串组
13     for(int i(0);i<height;i++)        //将字符串分层,每层有2*i+1个字符
14     {
15         *(p+i)=str.substr(mark,i*2+1);        //sting.substr(unsigned int pos, unsigned int n) 从字符串sting的下标为pos的字符开始,截取n个字符
16         mark+=(i*2+1);
17     }
18     for(int i(0);i<height;i++)                //分层输出
19     {
20         cout<<setw(weight/2+i+1)<<setfill(' ')<<*(p+i)<<endl;        //每层占位wight/2+i+1个字符位,输出每层的字符串,其他的由空格填充
21     }
22     return 0;
23 }

解析:

  见代码注释。

  string.substr(unsigned int pos, unsigned int n)的使用方法。

转载于:https://www.cnblogs.com/wzzdeblog/p/10615716.html

2017Final 圆周率山相关推荐

  1. 22年贵工程程序设计团体赛

    文章目录 7-1 成绩等级 7-2 h0001.Hello World! (5 分) 7-3 h0055. 长方体 7-4 Jack cheng的烦恼 7-5 毕业照 7-6 h0045. 限速 7- ...

  2. mixly编程怎样音乐_华人留学生开发首个古汉语编程语言,实现易经算命、圆周率计算,Github获赞14.7k...

    近日,世界上第一个古汉语编程语言在 Github 上横空出世,由该古汉语编程语言编写的程序现已达到了数十个,有圆周率计算方法,甚至有<易经>的算命算法. 截至目前,该项目在 Github ...

  3. 大脑笔记:快速记忆之三大方法记忆圆周率前一百位

    一.串连故事法 钥匙 鹦鹉 球儿 绿壶 山虎 芭蕉 14 15 92 65 35 89 气球 扇儿 妇女 饲料 二牛 石山 79 32 38 46 26 43 妇女 扇儿 气球 武林 恶霸 巴士 38 ...

  4. 1998ieee圆周率c语言,华人留学生开发首个古汉语编程语言,实现易经算命、圆周率计算,Github获赞14.7k...

    近日,世界上第一个古汉语编程语言在 Github 上横空出世,由该古汉语编程语言编写的程序现已达到了数十个,有圆周率计算方法,甚至有<易经>的算命算法. 截至目前,该项目在 Github ...

  5. “圆”来如此——关于圆周率 π 的36 个有趣事实

    ▌1 在所有数学符号之中,圆周率 π 也许是最神秘.最吸引人的了,数学家通常认为 π 是数学中最为重要且最为有趣的常数. ▌2 π 是希腊语"周长"(περμετρο)的开头字母. ...

  6. 圆周率100位可以这样速记

    圆周率100位可以这样速记 背景:'我'作为一个父亲,对于儿子的堕落,由自暴自弃到想法挽救,最后成功,和家团圆...... 方法:读音+形状...... 白话+古文...... (儿子十分堕落) ...

  7. c语言圆周率小数点后500万位,活久见!德科学家整理出圆周率小数点后500万位数字...

    额,这个,小编只想说,科学家要是无聊起来真是跟疯子没两样.日前,来自德国莱布尼兹天体物理研究所的科学家闲来无事(嗯,天体物理科学家,闲来无事),将圆周率后500万位的所有数字整理了一个PDF文件.每5 ...

  8. 歪写数学史(圆周率的历史)

    我最早是在 newsmth 上看到本文的,作者的文笔还不错.收藏在这里. 刚刚百度了一下,这篇文章最早应该是在天涯论坛上贴出的,作者是 狗熊不爱的犀牛. 山顶一寺一壶酒 在无穷无尽的数字里,哪一个在数 ...

  9. [Literature]“东风何处是人间”:网友算出99个宋词常用语 圆周率可填词

    你羡慕那些出口就会吟诗的文人吗?现在可以不用再羡慕他们了!因为一位网友"yixuan"闲来无事,把<全宋词>拿出来"捣鼓",算出了其中的99个高频词 ...

  10. π是无理数证明定积分_证明圆周率是无理数很容易?人类花了2000年!

    我在之前制作的视频中,多次谈到了圆周率π.比如,我介绍过阿基米德和刘徽计算圆周率的方法--割圆术,还谈到了蒲丰利用一根针计算圆周率的方法--蒲丰投针实验.人类使用和计算圆周率已经有了数千年的历史,可是 ...

最新文章

  1. 设置Button控件创建完毕时触发的事件.
  2. 一行代码发一篇 ICML?
  3. RedHat linux服务器对外开放指定端口
  4. 接口文件也是.java结尾吗
  5. 【NOIP2013模拟】守卫者的挑战(期望概率)
  6. 【JVM调优工具篇】使用MAT工具分析dump文件(查看GC Roots)
  7. 使用字符缓冲流读取数据
  8. SQL入门语句之LIKE、GLOB和LIMIT
  9. [你必须知道的.NET] 第一回:恩怨情仇:is和as
  10. SQLServer 的存储过程与java交互
  11. 怎样写一篇优秀论文?看完受益匪浅!
  12. 发现了imageio文档中有代替scipy.misc的说明
  13. Kafka单机安装Version1.0.1(自带Zookeeper)
  14. c# 第七节 编程规范,vs中的各种设置
  15. 五子棋c语言开题报告,基于Java语言的五子棋游戏设计开题报告.doc
  16. 智能控制导论 # 模糊控制 2 模糊控制器的原理与设计方法
  17. 【无标题】工商银行科技菁英岗笔经面经
  18. 艺体计算机教师考核细则,音体美教师考核办法
  19. 云e办学习笔记(十五)Redis学习以及相关部署
  20. 基于python机票预定系统_机票预订系统课程设计.doc

热门文章

  1. Java并发编程:Lock
  2. html文字旋转以后变形,CSS3中的变形处理——transform功能(旋转、缩放、倾斜、移动)...
  3. Captcha Cracker
  4. 基于SSM的医院科室人员管理系统设计与实现毕业论文+任务书+项目源码及数据库
  5. 梅特勒托利多电子秤显示EEP服务器错误,托利多电子秤故障排除和维修方法
  6. 笔记本蓝牙显示输入码无效_蓝牙键盘输入码错误无法连接笔记本(win10)
  7. 华为AX3Pro路由器配置成交换机使用
  8. 什么是pisa测试_PISA测试是什么?
  9. eclipse 安装jetty WTP Adaptor插件
  10. 输入一个大写字母,显示三角形