試卷征集
加入會員
操作視頻

四宮數(shù)獨規(guī)則:在4×4的格子中,根據(jù)已知數(shù)字,推理出所有剩余空格的數(shù)字,并滿足每一行、每一列、每一個宮(粗線框區(qū)域)內(nèi)均含1到4的數(shù)字并且不重復(fù),每道數(shù)獨有且僅有唯一答案。
例如,根據(jù)規(guī)則推理圖1數(shù)獨,在第一宮中4個格子已經(jīng)3個格子分別是數(shù)字1到3,缺的數(shù)字為4,因此第一行第一格空缺的數(shù)字填4,以此類推,直至將所有格子都推理出來。
(1)根據(jù)上述規(guī)則推理,數(shù)獨(圖2)第一行A處應(yīng)是數(shù)字
2
2
。
(2)小明編寫了四宮數(shù)獨推算的VB程序,單擊“推算”按鈕Command1后,在列表框List1中輸出數(shù)獨推算過程和結(jié)果,如圖3所示。實現(xiàn)推算的VB程序如下,請在橫線處填入合適的代碼。
Dimd(1To16)AsInteger'數(shù)組d逐行存儲四宮數(shù)獨
PrivateSubCommand1_Click (  )
DimiAsInteger,flagAsBoolean
Fori=1To16
d(i)=0‘值0表示該位置還未填數(shù)字
Nexti
‘初始化數(shù)獨中已知位置的數(shù)字
d(2)=4:d(11)=3:d(14)=2:d(16)=4
List1.Clear
'在列表框Li1中輸出四宮數(shù)獨,代碼略
flag=False
DoWhileNotflag
flag=True
flag=True

Fori=1To16
‘函數(shù)check(i)實現(xiàn)對第i位置進行推算
Ifd(i)=0Then
d(i)=check(i)
Ifd(i)>0Then
flag=False
'Forniat(i,″00″)函數(shù)實現(xiàn)將變量i的值按2個字符寬度輸出
List1.Addltem“第″&Format(i,″00″&″位置填″&d(i)
EndIf
EndIf
Nexti
Loop
'在列表框Lil中輸出四宮數(shù)獨,代碼略
EndSub
根據(jù)每一行、第一列、每一個宮的已有數(shù)字進行推算
Functioncheck(xAsInteger)AsInteger
Dimt(0To4)AsInteger,mAsInteger
DimrowAsInteger,colAsInteger,nAsInteger,kAsInteger
Form=0To4
t(m)=0
Nextm
'對當前所在行列進行推算
row=(x-1)\4+1
col=(x-1)Mod4+1
Form=1To4
t(d(row-1)*4+m)=1
t(②
(m-1)*4-col
(m-1)*4-col
)=1
Nextm
'進行宮內(nèi)推算
Ifrow<=2Andcol<=2Thent(d(7-x))=1
Ifrow<=2Andcol>2Thent(d(11-x)=
Ifrow>2Andcol<=2Thent(d(23-x)=1
Ifrow>2Andcol>2Thent(d(27-x)=1
k=0
Form=1To4
Ift(m)=0Thenn=mElsek=k+1
Nextm
If③
k=3
k=3
Thencheck=nElsecheck=0
EndFunction
菁優(yōu)網(wǎng)

【答案】2;flag=True;(m-1)*4-col;k=3
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:0引用:1難度:0.5
相似題
  • 1.有如下VB程序段:
    菁優(yōu)網(wǎng)
    數(shù)組元素a(1)到a(6)的值分別是“8,5,8,6,1,8”,數(shù)組b和f各元素的初值均為0,執(zhí)行該程序段后,標簽Label1上顯示的內(nèi)容為(  )

    發(fā)布:2024/11/2 14:0:2組卷:0引用:1難度:0.4
  • 2.輸出字符串的所有非空子串,如:“ABC”、“AB”、“BC”、“A”、“B”、“C”都是“ABC”的非空子串,實現(xiàn)該功能的VB程序段如下:
    菁優(yōu)網(wǎng)
    上述程序段中方框處可選語句為:
    ①Len(s) ②Len(s)-i+1 ③Mid(s,i,j) ④Mid(s,j,i)
    則(1)(2)處語句依次可為( ?。?/h2>

    發(fā)布:2024/11/3 21:30:1組卷:0引用:1難度:0.4
  • 3.小明想要在數(shù)字串s中尋找連續(xù)數(shù)字之和為k 的子串,若有多個子串符合,則輸出第一個子串。例如,s=“20220520“,k=7,則符合要求的子串為“205“。實現(xiàn)該功能的部分python代碼如圖:
    菁優(yōu)網(wǎng)
    劃線①②處的語句是( ?。?/h2>

    發(fā)布:2024/11/5 21:30:2組卷:3引用:3難度:0.5
小程序二維碼
把好題分享給你的好友吧~~
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:4.8.2  |  隱私協(xié)議      第三方SDK     用戶服務(wù)條款廣播電視節(jié)目制作經(jīng)營許可證出版物經(jīng)營許可證網(wǎng)站地圖本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正