91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于一些基礎代碼的實現

發布時間:2020-06-10 22:46:16 來源:網絡 閱讀:344 作者:喜文靜的我 欄目:編程語言

1.打印一個邊長為n的正方形
for i in range (6):
if i%5==0:
print(' '6)
else:
print(' '+' '4+'* ')

a=int(input('<<'))
for i in range (a):
if i%(a-1)==0:
print(' 'a)
else:
print(' '+' '(a-2)+'* ')

#求100內所有奇數的和(2500)
a=0
for i in range(1,100,2):
a=a+i
print (a)

#判斷質數

a=5557
for i in range(2,5557):
if 5557%i==0:
print("no")
break
else:
print("1")

a=int (input(">>>"))
for i in range(2,a):
if a%i==0:
print("no")
break
else:
print("1")

打標記用flag。優化的話應該是range半數就可以,除去除2的偶數只用奇數應該也是優化

#打印99乘法表

99 88 77 66 55 44 33 22 11
9
8 87 76 65 54 43 32 21
9
7 86 75 64 53 42 31
96 85 74 63 52 41
95 84 73 62 51
9
4 83 72 61
9
3 82 71
92 81
9*1

19 29 39 49 59 69 79 89 99
1
8 28 38 48 58 68 78 88
1
7 27 37 47 57 67 77

11 12 13 14 15 16 17 18 19
2
2 23 24 25 26 27 28 2*9

99 98 97 96 95 94 93 92 91
8
8 8*7

for i in range (1,10):
for j in range (i,10):
print (str(i)+''+str(j)+'='+str(ij),end=' ')
print('\t')

缺點就是不對齊,有改進的方法應該。標記。不對齊的方法找到了就是做一個制表符\t這樣打出來的會成為對齊的方式。直接將改后的放到上面。

#打印一個菱形
菱形的打印,初步的想法就是把上半部分和下半部分分開用print打印這應該是最基礎的想法了。讓我們來一起實現它。。。其實好像不好實現,在range函數當中很難實現完美的打印,這個是1、3、5、7步進,空格是3、2、1、0步進。如果用1到4來做的話,格式是空(3-i) 器(2i+1) 空(3-i),這樣仿佛上半部分能夠實現
for i in range(1,5):
print(' '
(4-i)+''(2i-1)+' '(4-i))
這樣可以實現上半部分的打印,下半部分同理,全部的代碼可以如下打出,而我們就可以得到了一個最終的圖形
for i in range(1,5):
print(' '(4-i)+''(2i-1)+' '(4-i))
for j in range(1,4):
print(' '
j+''(7-2j)+' 'j)






  • 其實轉頭過來想這個后面的空格好像可以舍去
    for i in range(1,5):
    print(' '(4-i)+''(2i-1))
    for j in range(1,4):
    print(' 'j+''(7-2j))
    有一個這樣不算改進的改進方法就是range函數的,從零開始會比較簡便,方法也是i+1就可以。
    for i in range(4):
    print(' '(3-i)+''(2i+1))
    for j in range(3):
    print(' '(j+1)+''(5-2j))
    口口口器口口口
    口口器器器口口
    口器器器器器口
    器器器器器器器
    口器器器器器口
    口口器器器口口
    口口口器口口口
    內心上還有一種實現的方法就是
    *
    **

    ****可以鏡像復制一下也可以出來就跟打印正方形的那個方法一樣。暫時不會,標記。

#打印100以內斐波那契數列
斐波那契數列記著好像是f(2)=f(1)+f(0),查閱了一下發現是第一項等于1第二項等于1,,嘖嘖,我這個理解好像是比較深的那個,因為如果用到range函數就可以從零開始記了,前100項就可以用range(0,100)來實現,第100項也就是到99為止,讓我們來實現它吧。代碼是這個樣子的
a=1
b=1
print(a)
print(b)
for i in range(98):
c=a+b
a=b
b=c
print (c)
額,出現了一個這樣的問題就是在前面傻傻的打了兩行輸出a,b,這樣range函數就自然到了98就可以停止了。想不到怎么把a和b加載到循環里。這樣其實打印第101項就沒那么難了。嘖嘖,理解錯誤了。是100以內的,那在這里可以引用while,如果繼續用for的話,采用break就好了
a=1
b=1
print(a)
print(b)
for i in range(98):
c=a+b
a=b
b=c
if c<100:
print (c)
else:
break
其實想一想用while true也行。
a=1
b=1
print(a)
print(b)
while True:
c=a+b
a=b
b=c
if c<100:
print (c)
else:
break

#打印斐波那契數列第101項
a=1
b=1
for i in range(99):
c=a+b
a=b
b=c

print(c)

#求10萬內所有素數
這個就涉及到之前素數的優化問題了。要求輸出10萬內所有素數,首先要做到的就是算法優化問題,首先肯定能想到的就是偶數排除掉,2是素數是不能忘記的。檢驗的話若是一個一個實現有點太慢了,先用最基礎的實現
3 5 7 9 11 13 15 17 19 21 23 25
其實實現不難,但如果用質數和它本身的話就顯得除以太過冗余,我有一個想法就是如果只判斷二倍以上的約數,則在這個數本身就少了一半的算數量。但這自身就一定要套用兩層循環。大一點的數還好做計算,小的數例如三就不知該從何開始計算起,若要用1,那就是從1開始就一定能整除的呀。從二則無法2步步進。我看看拿什么能夠解決,從3開始則我想會出現bug
這樣算出來會出現多個數輸出的情況

#100000nei suoyou sushu
print (2)
for i in range (3,100000,2):
for j in range(3,(i+1)//2,2):
if i%j==0:
break
else:
print(i)
這是一個很慢的算法,用之前學到的方法6的周圍一定有一個質數可以簡便算法,但那是之后的事,在那之前我想有沒有再簡單一點的算法,這里引入開平方的會更簡單一些。
print (2)
for i in range (3,100000,2):
for j in range(3,int(i**0.5)+1,2):
if i%j==0:
break
else:
print(i)
這里第二個循環加一是為了避開數字過小的時候引起錯誤。
這些是一點自己的想法

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闽清县| 兴义市| 长宁县| 阳春市| 潞城市| 镶黄旗| 宁津县| 罗田县| 乌兰察布市| 山东省| 佛学| 新建县| 桓仁| 新泰市| 阿合奇县| 黔西县| 静海县| 罗源县| 垫江县| 商都县| 兰考县| 连州市| 恩平市| 巫溪县| 瓮安县| 桂东县| 沈丘县| 奉化市| 承德市| 黔西县| 淮滨县| 涿州市| 左云县| 偃师市| 河西区| 安化县| 浮梁县| 马龙县| 利辛县| 宜良县| 杂多县|