问题描述
给定圆的半径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)