【蓝桥杯】BEGIN-3. 圆的⾯面积

问题描述

给定圆的半径r,求圆的⾯面积。

输⼊入格式

输⼊入包含⼀一个整数r,表示圆的半径。

输出格式

输出⼀一⾏行行,包含⼀一个实数,四舍五⼊入保留留⼩小数点后7位,表示圆的⾯面积。
说明:在本题中,输⼊入是⼀一个整数,但是输出是⼀一个实数。
对于实数输出的问题,请⼀一定看清楚实数输出的要求,⽐比如本题中要求保留留⼩小数点后7位,则你的程序
必须严格的输出7位⼩小数,输出过多或者过少的⼩小数位数都是不不⾏行行的,都会被认为错误。
实数输出的问题如果没有特别说明,舍⼊入都是按四舍五⼊入进⾏行行。

样例例输⼊入

4

样例例输出

50.2654825
数据规模与约定
1 <= r <= 10000。

提示

本题对精度要求较⾼高,请注意π的值应该取较精确的值。你可以使⽤用常量量来表示π,⽐比如
PI=3.14159265358979323,也可以使⽤用数学公式来求π,⽐比如PI=atan(1.0)*4。

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double PI=atan(1.0)*4;
int main(){
    long long int a;
    cin>>a;
    double ans = PI*a*a;
    printf("%.7lf",ans);
    cin>>a;
    return 0;
}

python的四舍五入有点坑,所以手写

比如 a小数点后7位四舍五入,
a先×10^8,变整数
对最后一位四舍五入
然后去掉最后一位,
变成对应的小数

a = int(input())
import math
ans = math.pi*a*a
ans = ans*math.pow(10,8)
ans = int(ans)
if ans%10>4:
    ans+=10
ans = ans//10
ans = float(ans)/pow(10,7)
print('%.7f' % ans)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值