2017Final 圆周率山

为了参加学校的社团风采展,怡山小学数学组的同学们决定画一座圆周率山,以宣传圆周率。

 

已知圆周率为: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:

   3

  141

 59265

3589793

 

#include<iostream>

#include<string>

#include<iomanip>

#define PI "314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196"

using namespace std;

int main()

{

    string str(PI);

    int height,weight,mark(0);

    cin>>height;

    weight=height*2-1;

    string *p=new string[height];

    for(int i(0);i<height;i++)

    {

        *(p+i)=str.substr(mark,i*2+1);

        mark+=(i*2+1);

    }

    for(int i(0);i<height;i++)

    {

        cout<<setw(weight/2+i+1)<<setfill(' ')<<*(p+i)<<endl;

    }

    return 0;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值