發表文章

TOJ 110 六芒星的咒符參考解法

圖片
原始題目連結: TOJ 110 六芒星的咒符 此題要用 * 符號劃出六芒星,六芒星是由一個正三角形和一個倒三角形所組成的,中間有三行重疊,圖案如下圖 參考解法 因為此六芒星圖形是上下兩半對稱的,若以高度 height = 4 為例,可以將垂直軸轉換成 -k/2 到 k/2 值(下圖的 line 變數),而 k 值為六芒星行數。此時可以算出空白個數與星星個數(spaceAndStar)的總數為 2*height - 1,而空白數就是 line 變數的絕對值再加1,星星數為spaceAndStar - 2 * space。 用 height = 5 與 height = 6 來測試一下 以上的數學推導似乎可行,來寫程式吧。 C++程式碼: 結果 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or  buy me a coffee . Thank you very much.

Scratch 3 遊戲:刮刮樂 ( Scratch Game: Scratch-off)

圖片
【遊戲名稱】刮刮樂 ( Scratch Game: Scratch-off) 【基本動作】 按下綠旗,移動滑鼠,開始刮刮刮。 Click the green flag to Scratch.... 製作步驟: ( 底下程式積木僅供參考,設計方式不是只有一種。 ) 步驟 一 、選擇背景(Backdrops) 步驟 二 、使用 圓形 與 文字 工具畫硬幣(Coin),中心點設在硬幣的下方。 步驟 三 、 使用  矩形   工具畫黑色區塊(Rectangle),中心點設在的黑色區塊的左上角。 步驟 四 、硬幣程式碼 功能是按下綠旗後,硬幣跟著滑鼠移動。 步驟五 、建立 黑色區塊(Rectangle)的函示積木(My Blocks),名稱為 blackScreen 。並將 "Run without screen refresh" 勾選。 步驟六 、 黑色區塊(Rectangle)積木。功能為 1. 按下綠旗時用 黑色區塊的分身(Clone) 填滿整個螢幕的背景。 2. 當硬幣碰到黑色區塊 的分身(Clone) ,將此分身刪除。 額外功能: 限時,時間倒數,時間到,停止遊戲。 專案範例網址: https://scratch.mit.edu/projects/752532834/ 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or  buy me a coffee . Thank you very much.

107高考-資訊處理-程式語言 第三題、第四題參考答案

第三題 請撰寫一支密碼產生模組程式,此模組的密碼組成為一個五位數字,最後一碼  (個位數)  為驗證碼。合法的密碼規則是除了驗證碼之外的所有數字相乘後取除以 10 的餘數當作驗證碼。例如: 1357 5 即為合法的密碼,因為( 1*3*5*7 )%10 = 5 。請撰寫一支完整 程式,包含主程式和codeGen( );codeGen( )  功能為輸入參數為密碼的前四碼,輸出為產生驗證碼之後的五位數字密碼。程式讓使用者輸入密碼的前四碼後,檢查使用者所輸入的數值是否為四位數,正確的話則呼叫  codeGen( )  將傳回之 五位數字密碼從螢幕顯示出。主程式中需有迴圈功能詢問使用者是否要繼續輸入,直到使用者按下不是  ‘Y’  或  ‘y’  鍵時結束程式。 參考答案 #include <stdio.h> #include <math.h>   void codeGen ( int a [])   {      int p = 1 ;      for ( int i = 0 ; i < 4 ; i ++ ) {         p *= a [ i ] ;   // 所有數字相乘後          printf ( "%d" , a [ i ]) ;      }      printf ( "%d \n " , p % 10 ) ; // 除以 10 的餘數當作驗證碼 }   int main () {    int n ;    char ch = 'Y' ;      while ( ch == 'Y' || ch == 'y' ) {   ...