欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 使用Python手工計(jì)算x的算數(shù)平方根,來自中國古人的數(shù)學(xué)智慧

使用Python手工計(jì)算x的算數(shù)平方根,來自中國古人的數(shù)學(xué)智慧

熱門標(biāo)簽:地圖標(biāo)注多個(gè) 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)違法嗎 銀川電話機(jī)器人電話 怎么辦理400客服電話 高德地圖標(biāo)注收入咋樣 企業(yè)微信地圖標(biāo)注 沈陽防封電銷電話卡 B52系統(tǒng)電梯外呼顯示E7 萊蕪電信外呼系統(tǒng)

代碼 

sqrt(x, w=20, Float=False)
x 為非負(fù)實(shí)數(shù),允許科學(xué)計(jì)數(shù)法
w 是當(dāng)sqrt(x)為無理數(shù)或結(jié)果的小數(shù)部分很長時(shí)的最大位數(shù)。默認(rèn)w=20
Float 當(dāng)Float=True輸出浮點(diǎn)數(shù),w設(shè)置如超出float精度則失效。默認(rèn)輸出字符串類型

def sqrt(x,w=20,Float=False):
    if x==0 or x==1:return str(x*1.0)
    if x0: raise ValueError('x>=0')
    s,power = str(x),0
    t = s.find('e')
    if t!=-1:
        s=s.split('e')
        s[1] = int(s[1])
        if int(s[1])%2:
            tmp = str(s[0])
            s = [tmp[0]+tmp[2]+tmp[1]+tmp[3:],s[1]-1]
        s,power = *s,
    t = s.find('.')
    if t!=-1:
        if t%2: s='0'+s
        if not len(s)%2: s+='0'
    else:
        if len(s)%2: s='0'+s
    s = s.split('.')
    t = t,len(s[0])//2
    try: s = s[0]+s[1]
    except: s = s[0]
    s = [s[i:i+2] for i in range(len(s)) if not i%2][::-1]
    n = int(s.pop())
    i = 1
    while n>0 and i*i=n: i+=1
    i -= 1
    m,n = str(n-i*i),i
    div = lambda x,y:[(i,y-(20*x+i)*i) for i in range(10) if y>=(20*x+i)*i]
    dot,ret = t[1],str(n)
    while w>0:
        dot -= 1;
        if dot==0: ret += '.'
        if dot=0: w-=1
        m += s.pop() if s else '00'
        q,d = div(n,int(m))[-1]
        m,n = str(d),10*n+q
        ret += str(q)
        if len(s)==0 and d==0:
            if ret.find('.')==-1: ret += '.0'
            break
    if power!=0:
        if power>0: ret += 'e+0'+str(power//2)
        else: ret += 'e-0'+str(power//2)[1:]
    if Float: ret = float(ret)
    return ret

原理

據(jù)說這個(gè)平方根計(jì)算法出自《九章算術(shù)》,成書在公元一世紀(jì)前后,總結(jié)了先秦到兩漢的古代數(shù)學(xué)成就。古代數(shù)學(xué)家也真是鬼才,怎么想出來的?

操作過程:

小數(shù)點(diǎn)前后2位2位的隔開,不足2位用0補(bǔ)。然后首位試開方,第二位開始反復(fù)用公式 (Qn+1 * 20 + Qn) * Qn來試商 ; 下一結(jié)果Qn+2 = 10*Qn+1 + Qn。具體流程請自行搜索了解,大致流程如下:

測試 sqrt(n)與n**0.5

>>> for i in range(17):
	print(f'sqrt({i})={sqrt(i)}')
	print(f'{i}**0.5={i**0.5}')	
sqrt(0)=0.0
0**0.5=0.0
sqrt(1)=1.0
1**0.5=1.0
sqrt(2)=1.41421356237309504880
2**0.5=1.4142135623730951
sqrt(3)=1.73205080756887729352
3**0.5=1.7320508075688772
sqrt(4)=2.0
4**0.5=2.0
sqrt(5)=2.23606797749978969640
5**0.5=2.23606797749979
sqrt(6)=2.44948974278317809819
6**0.5=2.449489742783178
sqrt(7)=2.64575131106459059050
7**0.5=2.6457513110645907
sqrt(8)=2.82842712474619009760
8**0.5=2.8284271247461903
sqrt(9)=3.0
9**0.5=3.0
sqrt(10)=3.16227766016837933199
10**0.5=3.1622776601683795
sqrt(11)=3.31662479035539984911
11**0.5=3.3166247903554
sqrt(12)=3.46410161513775458705
12**0.5=3.4641016151377544
sqrt(13)=3.60555127546398929311
13**0.5=3.605551275463989
sqrt(14)=3.74165738677394138558
14**0.5=3.7416573867739413
sqrt(15)=3.87298334620741688517
15**0.5=3.872983346207417
sqrt(16)=4.0
16**0.5=4.0
>>> 
>>> 
>>> sqrt(2,Float=True) == 2**0.5
True
>>> sqrt(3,Float=True) == 3**0.5
True
>>> sqrt(123,Float=True) == 123**0.5
True
>>> 

科學(xué)計(jì)算法測試

>>> sqrt(1.23e+50)
'1.10905365064094171620e+025'
>>> 1.23e+50**0.5
1.1090536506409416e+25
>>> sqrt(1.23e+51)
'3.50713558335003638336e+025'
>>> 1.23e+51**0.5
3.5071355833500364e+25
>>> sqrt(1.23e-50)
'1.10905365064094171620e-025'
>>> 1.23e-50**0.5
1.1090536506409418e-25
>>> sqrt(1.23e-51)
'3.50713558335003638336e-026'
>>> 1.23e-51**0.5
3.5071355833500365e-26
>>> 

精度測試

>>> sqrt(2,100)
'1.41421356237309504880168872420969807856967187537694
80731766797379907324784621070388503875343276415727'
>>> sqrt(10,500)
'3.16227766016837933199889354443271853371955513932521
68268575048527925944386392382213442481083793002951
87347284152840055148548856030453880014690519596700
15390334492165717925994065915015347411333948412408
53169295770904715764610443692578790620378086099418
28371711548406328552999118596824564203326961604691
31433612894979189026652954361267617878135006138818
62785804636831349524780311437693346719738195131856
78403231241795402218308045872844614600253577579702
82864402902440797789603454398916334922265261206779'
>>> sqrt(123,2000)
'11.09053650640941716205160010260993291846337674245402
00228773128390850016331012896052334560795952104923
97609680678955280792187905933115292625456231839306
77251943912251383176574941199469582196976000438135
40867472202696805822192936674286399297485980945076
78295660716567970352602444301464684924479636459099
14867193001802834979182445692668356613065880869548
25999929108256938950212808340223106891096223696155
58407975630369894453553840958193501976809032496435
98351605065147790119568667920441106521130541775416
88403618227856731042118992185281429619080341919784
91236339758444278806715795552342614568993355758259
00257454016962686033789212494918951906742724387717
86816775058970553110606825772728456503631816127185
97236514403953501043370950197906664648656587402375
47456007486620199478701365589929806411967684259454
52983826062182085142259698311212942126801021825240
49746216571370198706996668818361845968235199845816
69902568378075870406180767774203205467306930309438
16832697339952984981648138573158982379175644441470
50866454616067044997958059525209028336061119869487
42330123683852090419874148218422184948658174234109
57266920859313915279433828848348895422861007776818
60008218306382698626583716405660864687800252861028
31434598682004467042622580768146827595778429365752
19552960734589394860581552514632178318401717998004
12904477515916582731378709757426533231624676879051
21277303475419893966421915682962327965202183939540
07041575389626966661084388718863067485822881867488
00698329255619212758441301451712107894934052042668
13620261632356745839351541875140890682676375675084
74266141686980135645708807796240849684849035273656
15026469136389861472142022294507047846522584450886
83823021978858519029304962564972861464819539784518
43062402845984165814550404820570869649363216162428
32571582506529019502195720558586845830492641836612
65156560044594234298289454649568716622838760718998
14917847213523793754337786561375901264942957378010
57481468928695787589958271831183026476218342365982
72020291818311722410861264031411990033164594115086'
>>> 

1000位到1萬位的耗時(shí)測試

>>> from time import time
>>> for i in range(1,11):
	t = time()
	s = sqrt(2,i*1000)
	print(i*1000,':',time()-t) 
1000 : 0.09099745750427246
2000 : 0.5609970092773438
3000 : 1.7489948272705078
4000 : 3.7850000858306885
5000 : 7.239997863769531
6000 : 12.108997106552124
7000 : 19.044997692108154
8000 : 28.065003395080566
9000 : 39.57198643684387
10000 : 54.04999876022339
>>> 

以上就是使用Python手工計(jì)算x的算數(shù)平方根,更多關(guān)于Python手工計(jì)算x的算數(shù)平方根的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python中利用sqrt()方法進(jìn)行平方根計(jì)算的教程
  • Python求算數(shù)平方根和約數(shù)的方法匯總
  • Python求解平方根的方法
  • Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法
  • python開根號實(shí)例講解

標(biāo)簽:呼倫貝爾 湘西 安慶 葫蘆島 銀川 呼倫貝爾 烏魯木齊 三亞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Python手工計(jì)算x的算數(shù)平方根,來自中國古人的數(shù)學(xué)智慧》,本文關(guān)鍵詞  使用,Python,手工,計(jì)算,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Python手工計(jì)算x的算數(shù)平方根,來自中國古人的數(shù)學(xué)智慧》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Python手工計(jì)算x的算數(shù)平方根,來自中國古人的數(shù)學(xué)智慧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    色综合久久久久久久| 亚洲福中文字幕伊人影院| 国产精品视频观看| 久久不见久久见免费视频1| 国产精品成人99一区无码| 色天使久久综合网天天| 国产精品日产欧美久久久久| 激情综合一区二区三区| 三级黄色片网站| 51久久夜色精品国产麻豆| 亚洲已满18点击进入久久| 91亚洲午夜精品久久久久久| 色999日韩国产欧美一区二区| 一区在线播放视频| av在线综合网| 在线免费亚洲电影| 亚洲一区影音先锋| 丰满少妇一区二区三区专区| 欧美亚洲精品一区| 亚洲一区二区三区精品在线| 动漫美女无遮挡免费| 欧美人妖巨大在线| 亚洲一区二区在线免费看| 人妻巨大乳一二三区| 欧美日韩在线播| 亚洲成av人在线观看| 亚洲国产aⅴ天堂久久| 一级黄色大片免费看| 欧美福利一区二区| 日韩精彩视频在线观看| 草草影院第一页| 国产欧美日韩精品a在线观看| 国产成人精品一区二区三区四区| 性欧美videos| 亚洲精品高清视频在线观看| 成人做爰www看视频软件| 这里是久久伊人| 蜜臀久久99精品久久久久久9| 国产综合精品在线| 欧美国产日韩精品免费观看| eeuss影院一区二区三区| 欧美影视一区在线| 午夜精品福利一区二区蜜股av| 亚洲午夜福利在线观看| 久久精品人人做| 99热这里都是精品| 911精品产国品一二三产区| 蜜桃免费网站一区二区三区| 免费一级特黄3大片视频| 国产精品久久久久一区二区三区 | 欧美成人一区二区| 狠狠色狠狠色合久久伊人| 性欧美疯狂猛交69hd| 亚洲综合免费观看高清完整版| 国产精品无码一区二区三区免费| 国产日韩欧美制服另类| 91麻豆免费视频| 精品久久久久久久久久久久久久久久久| 国内成+人亚洲+欧美+综合在线| 色综合久久66| 全国精品久久少妇| 国产黄在线免费观看| 香蕉乱码成人久久天堂爱免费| 久久久久久久久福利| 亚洲精品久久嫩草网站秘色| 亚洲做受高潮无遮挡| 综合中文字幕亚洲| 丝袜美腿中文字幕| ...xxx性欧美| 三级网站在线免费观看| 日韩一区在线免费观看| 国产xxxx视频| 日韩理论片在线| 日韩精品卡通动漫网站| 亚洲欧美自拍偷拍色图| 国产又爽又黄无码无遮挡在线观看| 中文字幕在线一区| 免费在线观看成年人视频| 国产精品福利一区二区三区| 亚洲中文字幕无码av| 国产精品夫妻自拍| 这里只有久久精品| 一级中文字幕一区二区| 99久久99久久精品免费| 亚洲成人免费影院| 国产av无码专区亚洲av毛网站| 免费在线看一区| 欧美怡红院视频| 国产成人亚洲综合色影视| 538prom精品视频线放| av一区二区久久| 久久亚洲捆绑美女| 99久久久无码国产精品性波多| 国产精品久久久久久久久晋中| 久久久久亚洲av无码专区桃色| 亚洲一区电影777| 日韩在线视频网址| 久久99久久99精品免视看婷婷| 欧美日韩日日骚| 成人av在线一区二区| 久久久久久久综合狠狠综合| 最近中文字幕无免费| 伊人开心综合网| 日本一级二级视频| 韩国在线一区二区| 日韩欧美视频一区| 蜜桃色一区二区三区| 专区另类欧美日韩| 欧美a级片免费看| 久久国产尿小便嘘嘘| 欧美一级在线免费| xxxwww国产| 亚洲一区二区三区自拍| 色综合久久久久久久| 大尺度一区二区| 国产蜜臀97一区二区三区| 中文字幕一区二区三区人妻电影| 亚洲成人av中文| 欧美性大战xxxxx久久久| 成人精品gif动图一区| 亚洲国产成人私人影院tom| 欧美三级视频网站| 久久97超碰国产精品超碰| 日韩一级二级三级精品视频| 亚洲图片综合网| 午夜精品一区在线观看| 欧美日韩国产精品自在自线| 免费看三级黄色片| 亚洲综合男人的天堂| 欧美吻胸吃奶大尺度电影 | 午夜电影一区二区| 5858s免费视频成人| 韩国三级hd两男一女| 亚洲成人av福利| 6080日韩午夜伦伦午夜伦| 国产草草浮力影院| 日本大胆欧美人术艺术动态| 日韩精品中午字幕| 欧美人与性囗牲恔配| 久草在线在线精品观看| 久久蜜臀中文字幕| 91大神福利视频| 成人永久看片免费视频天堂| 中文字幕制服丝袜一区二区三区| 91极品视觉盛宴| 不许穿内裤随时挨c调教h苏绵| 亚洲电影中文字幕在线观看| 欧美一区二区在线视频| 久久久无码人妻精品一区| 久久不见久久见中文字幕免费| 欧美国产一区视频在线观看| 人与动物性xxxx| 成人国产精品视频| 一区二区三区在线观看网站| 欧美军同video69gay| 极品粉嫩小仙女高潮喷水久久| 精品一区二区三区久久| 欧美—级在线免费片| 色综合 综合色| 99久久久无码国产精品性波多| 美女精品一区二区| 欧美国产日韩精品免费观看| 欧美专区在线观看一区| 亚州av综合色区无码一区| 久久er99热精品一区二区| 国产精品入口麻豆原神| 91久久精品日日躁夜夜躁欧美| 老司机午夜免费福利| 久久精品国产成人一区二区三区| 欧美激情一区不卡| 在线视频欧美区| 国产精品无码久久久久久| 国产乱码一区二区三区| 亚洲欧美激情在线| 日韩一级大片在线| 精品在线观看一区| 国产成人精品综合久久久久99 | 色噜噜久久综合| 日韩免费高清一区二区| 国产老肥熟一区二区三区| 亚洲日本在线天堂| 日韩欧美资源站| 9999热视频| 久久一区二区电影| 国产91丝袜在线播放0| 亚洲国产日产av| 久久九九国产精品| 欧美色男人天堂| 亚洲自拍偷拍图| 91麻豆国产福利在线观看| 免费成人美女在线观看.| 国产精品国产成人国产三级| 欧美一级欧美三级在线观看| 国产波霸爆乳一区二区| aaaaaav| 99视频精品免费视频| 久久国产精品99精品国产 | 亚洲av无一区二区三区久久| 狠狠色丁香婷综合久久| 亚洲一卡二卡三卡四卡五卡|