總網頁瀏覽量

2018年6月28日 星期四

106(下)潮州高中高一第三次段考數學科試題(條件機率)

首先,這一次段考不是我命題的,題目出的中規中矩,但普通班的學生,考得一蹋糊塗,糟透了,但自強班的平均在合理範圍內,算是一份鑑別度高的試題,其中特地要講的是,有一道題目出的很漂亮,因為連我在做的時候都被騙了(呵@@題目做太快,沒仔細思考的缺點),~~~自強班做對的,更沒多少人!!!
題目:
擲三粒骰子,在已知沒有出現1點的情形下,求出現至少一次6點,一次2點的機率為何?
錯誤解答(因為是錯的,所以用紅筆):
樣本空間:5×5×5=125
骰子點數如下
(6,6,2):3種
(6,2,2):3種
(6,2,1或3或4或5):共4×3!=24種,所以答案是

各位有看出錯誤點嗎?~~~~
( 其實是一開始就說了「沒有出現1點的情形下」 ) 
所以
(6,2,3或4或5):共3×3!=18種,才是對的
所以正確答案是





2018年6月21日 星期四

2017.3月大學程式設計先修檢測 實作題 第三題(數字龍捲風)


Python Code:
n=int(input()) #奇方陣的階數
k=int(input()) #起始方向 0左 1上 2右 3下
a=[] #輸入的奇方陣
out=[] #列印的奇方陣
for i in range(n): #輸入N*N的二維方陣
    data=input().split() #分離字串
    d=[x for x in data] 
    a.append(d)
direction=[[0,-1],[-1,0],[0,1],[1,0]]
s=1
walk=0
s2=0
x=y=n/2
while (x>=0 and y>=0 and x<n and y<n):
    x=int(x)
    y=int(y)
    out.append(a[x][y])
    if (walk==s):
        k=(k+1)%4
        walk=0
        s2+=1
        if(s2==2):
            s+=1
            s2=0
    x+=direction[k][0]
    y+=direction[k][1]
    walk+=1
for i in range(len(out)):
    print(out[i],end='')

👷 很有難度的一題,參考人家的C語寫法,才能把它coding 
     出來~~~

2018年6月18日 星期一

2017.3月大學程式設計先修檢測 實作題 第四題(基地台)


Python Code:
n,k=input().split()#輸入n個服務點與k個基地台
n,k=int(n),int(k) #整數化
a=[] #存入服務點的串列
p=input().split() #將n個服數點串列化及數字化
a=[int(x) for x in p]
a=list(set(a)) #去除重複的元素
a=sorted(a) #服務點排序
l=1 #利用二分搜尋法,令最小直徑為1
r=((a[n-1]-a[0])/k)+1 #最大直徑,當只有一個基地台時的直徑
r=int(r)
while(l<r):
    s=-1 #最小比較值
    base=0 #先讓基地台為0台
    m=(l+r)/2
    m=int(m)
    for i in range(n): # 若服務點的位置比較大,需增設基地台
        if a[i]>s:
            s=a[i]+m
            base+=1
    if base<=k:
        r=m
    else:
        l=m+1
print(r)

Q1:如何找出這k個基地台位置?
Q2:若將這k個基地台平面化,如何找到基地台位置?

2018年6月12日 星期二

105學年度彰雲嘉區資訊能力競賽複賽程式設計題Q6(電腦算術運算)(未完成)


某電腦將算術運算的格式安排為 (第一運算元,第二運算元,運算子),其中運算子包含了”+”、”-“、”*”、”/”四種;而兩個運算元則必須是0或正整數(若運算子為除法”/”,則第二運算元不可為0)。寫一個程式,能辨識這樣的格式並輸出正確的運算結果(本題輸出不需考慮浮點數,假設除法運算皆可剛好整除)

輸入說明
輸入第一行為一個整數 n,表示接下來會有n組測試資料。
接下來有 n 行,每行是由多個運算子及運算元組成的算術運算式運算子及運算元間皆以一個半形逗號區隔

輸出說明
輸出每個測試資料的運算結果,每個測試資料輸出一行若格式錯誤或是不合法的運算元則輸出-1

範例1輸入:
2
((3,5,*),((2,4,*),6,-),+)
((3,0,*),((2,4.5,*),6,-),+)
範例1輸出:
17
-1

範例2輸入:
2
(8,((1,1,+),(2,2,*),*),/)
(5,(1,1,+),(1,1,-),/)
範例2輸出:
1
-1

😭 將輸入的符號及數字以串列儲存,再新增一串列將逗點刪
     掉,利用for-loop讀取,遇到 「+」、「-」、「*」、
   「/」,進行運算,結果存入原串列,但問題是~~~
      這個做法只能run一次,能否變成遞迴方式呈現,跑到結
    果出來,用while~~再想想??