時間限制:1.0s 記憶體限制:256.0mb
給定圓的半徑r,求圓的面積。
輸入包含乙個整數r,表示圓的半徑。
輸出一行,包含乙個實數,四捨五入保留小數點後7位,表示圓的面積。
說明:在本題中,輸入是乙個整數,但是輸出是乙個實數。對於實數輸出的問題,請一定看清楚實數輸出的要求,比如本題中要求保留小數點後7位,則你的程式必須嚴格的輸出7位小數,輸出過多或者過少的小數字數都是不行的,都會被認為錯誤。
實數輸出的問題如果沒有特別說明,捨入都是按四捨五入進行。
50.2654825
1 <= r <= 10000。
本題對精度要求較高,請注意π的值應該取較精確的值。你可以使用常量來表示π,比如pi=3.14159265358979323,也可以使用數學公式來求π,比如pi=atan(1.0)*4。本題看上去只要獲取半徑r的值,然後套用圓面積計算公式即可。但是真正上手敲**時還是愣了一下,我卡殼的地方是這兩處:
1、高精度的 pi 如何獲取
2、圓面積保留小數點後7位如何表示
這兩處其實也是題幹中指出的注意點。只要解決了這兩點,那麼本題其實是沒難度的。
# 匯入python內建模組math,獲取高精度的pi
import math
# 獲取半徑r的值
r =int
(input()
)# 計算圓面積
area = math.pi * r * r
# 列印圓的面積
print(''
.format
(area)
)
關於上面提到的卡殼點:
1、高精度的pi可以從python內建模組math中獲取,math.pi 就是我們要的pi
2、保留小數點後7位輸出,通過格式化字串來實現,這裡我是用字串相關的format函式進行格式化的。也可以使用c風格的 %f 這種語句,看個人習慣吧。
我個人也剛開始備考藍橋杯,今天算是正兒八經做題的第二天,因此我自己對如何備考也有一些迷茫,比如有一點,就是python組不能使用第三方庫,只能使用python內建的模組做題,這裡就牽扯到我到底要學習哪些內建模組呢?我的想法是通過做題來發現自己需要掌握的模組,比如本題用到了math模組,那麼閒暇之餘就可以通過python文件來學習一下math模組的基本用法。
1、math.pi 作為math模組的常量出現,具體精確到小數點後15位
3.1415926535897932、數字保留小數點後x位方式——格式化字串
''
.format
(num)
# x為需要保留的小數點後位數
# 假設我們保留 pi 的小數點後10位輸出
print(''
.format
(math.pi)
)
3.1415926536可以發現,格式化字串輸出,不是簡單地「截斷」,而是採用四捨五入的方式,非常符合做題的需要
Python入門實踐訓練(一)
1 1題目 替換1 20內的數字,3的倍數和5的倍數用不同的數字代替 方法一 str for i in range 1,21 if i 3 0 and i 5 0 elif i 5 0 and i 3 0 elif i 3 0 and i 5 0 else print str 執行結果 方法二 fo...
Python入門實戰訓練(二)
1.九宮格 1至9九個數字,橫豎都有3個格,思考怎麼使每行 每列和對角線上的三數之和都等於15 2.尋找班級裡面名字最長的人 我有一串字串人名 names kunpen ji,li xiao,caron li,dongjian shi,ji zhao,fia yuan y,wenxue ding,x...
python 藍橋杯 入門訓練
記憶體超限!def fibonacci n if 1 n or 2 n return 1 arg 1,1 i 3 while i n 1 i 1 return arg i 2 n input n int n if 1 n and n 1000000 fib fibonacci n fib是fibon...