a248: 新手訓練 ~ 陣列應用
#a248: 新手訓練 ~ 陣列應用
'''
大家都知道,小算盤的小數運算只能算出小數點後三十幾位
但好奇的桑葉想知道更精準的小數值
請你幫可憐的桑葉做出可以算出精準的小數運算的程式
輸入說明
每次輸入有三個正整數 a , b , N
1<= a , b <= 2147483647 1 <= N <= 10000
( 輸入不會超過1000筆 )
輸出說明
請輸出 a / b 的小數運算結果
精準到小數點後N位
第N位以後請無條件捨去
範例輸入 #1
18467 41 10
26500 6334 10
15724 19169 10
10 5 3
範例輸出 #1
450.4146341463
4.1837701294
0.8202827481
2.000
hello = 'Hello world'
print(hello[-4:]) # 從 0 到 4 切出子字串
print(hello[:-4]) # 從 0 開始,第一個索引可以省略
orld
Hello w
>
'''
print('a248: 新手訓練 ~ 陣列應用')
print('每次輸入有三個正整數 a , b , N ')
print('1<= a , b <= 2147483647 1 <= N <= 10000')
while True:
try:
a, b, c = map(int, input('每次輸入有三個正整數 a , b , N--> ').split(' ')) # 將題目給予的字串拆分成 a、b、c 三個數字
rd = a*(10**c)//b # 乘以 10^位數 後除以 b 求整數
#print (rd)
rs = str(rd) # 將整數轉成字串
#print (rs)
if len(rs) < c: # 如果字串的長度不足位數
for i in range(c - len(rs)):
rs = '0' + rs # 將字串前方補 0
m = rs[(c*-1):] # 根據位數拆分字串 ( 小數點後段 )
n = rs[:(c*-1)] # 根據位數拆分字串 ( 小數點前段 )
print (rs , c*-1,c)
print (n,m)
if n == '': n = '0' # 如果前段為空字串,就補 0
print(f'{n}.{m}') # 加上小數點,印出結果
except:
break
Python 3.7.9 (bundled)
>>> %Run a248.py
a248: 新手訓練 ~ 陣列應用
每次輸入有三個正整數 a , b , N
1<= a , b <= 2147483647 1 <= N <= 10000
每次輸入有三個正整數 a , b , N--> 18467 41 10
4504146341463 -10 10
450 4146341463
450.4146341463
每次輸入有三個正整數 a , b , N--> 26500 6334 10
41837701294 -10 10
4 1837701294
4.1837701294
每次輸入有三個正整數 a , b , N--> 15724 19169 10
8202827481 -10 10
8202827481
0.8202827481
每次輸入有三個正整數 a , b , N--> 10 5 15
2000000000000000 -15 15
2 000000000000000
2.000000000000000
每次輸入有三個正整數 a , b , N-->
>>>
========================================
print('a248: 新手訓練 ~ 陣列應用')
print('每次輸入有三個正整數 a , b , N ')
print('1<= a , b <= 2147483647 1 <= N <= 10000')
while True:
try:
a, b, c = map(int, input('每次輸入有三個正整數 a , b , N--> ').split(' ')) # 將題目給予的字串拆分成 a、b、c 三個數字
d=float(a/b)
print (f'{d:.{c}f}')
except:
break
>>> %Run a248-1.py
a248: 新手訓練 ~ 陣列應用
每次輸入有三個正整數 a , b , N
1<= a , b <= 2147483647 1 <= N <= 10000
每次輸入有三個正整數 a , b , N--> 10 5 20
2.00000000000000000000
每次輸入有三個正整數 a , b , N--> 18467 41 10
450.4146341463
每次輸入有三個正整數 a , b , N--> 26500 6334 20
4.18377012946005688576
每次輸入有三個正整數 a , b , N--> 15724 19169 10
0.8202827482
每次輸入有三個正整數 a , b , N-->
>>>
沒有留言:
張貼留言