日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

九宫锁屏图案有多少种c语言编程,手机九宫格图案解锁问题,编程高手戳进来!...

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九宫锁屏图案有多少种c语言编程,手机九宫格图案解锁问题,编程高手戳进来!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

數學吧里看到的一個有趣問題,題目描述很簡單:

求手機九宮格圖案解鎖一共有多少種答案。規則大家應該都知道,至少連四個點,最多連九個點,一條直線上的三個點只有在中間的點已被連過才能直接將兩端點相連,的一種有序的排列。

下面提供一種思路

'''不妨將九個點編號1,2,3,4,5,6,7,8,9;用a,b,c,d,e,f,g,h,i表示每次取的值,用x表示解的個數,若a=3,則稱3被a選擇,或a取3。

下面是大致思路:

1.建立數組l=[[]*9],其中l[j-1]表示初始 情況下數字j可直接相連的數字集合

例如l[0]=[2,4,5,6,8] 表示1(在2,5,4未被選擇情況下)可直接與2,4,5,6,8相連

2.a取1或2或5

b取遍l[a-1]

c取遍l[b-1]

………………

3.每次在取下一個數時,重新修改數組l

例如在取c時,如果b=2(或4,,6,8)

把l中的2都刪除,并且如果1,3都未被取過時,在l[0]中添加3,在l[2]中添加1

這樣就避免了數字的重復,以及將213,231的特殊情況也考慮進來了

4.再用x統計循環次數,輸出的x即表示九個點都取的情況下的解的個數。

接下來可依次減少i,h,g,f,e同理得到取8,7,6,5,4個點時解的個數。

具體編程要求助各位編程高手了~\(≥▽≤)/~啦啦啦,一起來碼字吧!!

因為編程課還沒有正式開,C語言也還沒學,可能語言有些繁瑣。 下面用python試著寫一下:

'''

#先創建初始數組

l=[[2,4,5,6,8],[1,3,4,5,6,7,9],[2,4,5,6,8],[1,2,3,5,7,8,9],[1,2,3,4,6,7,8,9],[1,2,3,5,7,8,9],[2,4,5,6,8],[1,3,4,5,6,7,9],[2,4,5,6,8]]

#先求a=1時的解

a=1

for j in range(0,9): #此處將l中所有的1都刪除

for k in l[j]:

if k==1:

p=l[j].index(1)

l[j].pop(p)

for b in l[a-1]:

for j in range(0,9): #此處將l中所有的b都刪除

for k in l[j]:

if k==b:

p=l[j].index(b)

l[j].pop(p)

#表示已經出問題了+_+ 怎么把每次b的一次循環結束后將l恢復至刪除b之前的狀態?!!交給編程大神了。

總結

以上是生活随笔為你收集整理的九宫锁屏图案有多少种c语言编程,手机九宫格图案解锁问题,编程高手戳进来!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。