發表文章

高中生程式解題系統:明明愛數數

題目連結 http://zerojudge.tw/ShowProblem?problemid=a215 。 這題用一個變數 sum 作加總並判斷 sum 是否小於 m。 程式碼: # include <cmath> # include <cstdio> using namespace std ; int main ( void ) { int n,m; while ( scanf ( "%d %d" , &n, &m) != EOF) { int sum = n; int cnt = 1 ; for ( int t = n + 1 ; sum <= m; t++) { cnt ++; sum += t; } printf ( "%d\n" , cnt); } return 0 ; } 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

Android 動畫 (Android Animation Design)

圖片
在 Android 中若要做動畫有幾種方式: 1. 自己寫程式 2. 用 Android 內建的,例如: Drawable Animation 、 Tween Animation 、 Property Animation 等。 此文會以參考資料 [1] 修改成使用 Property Animatin 來說明,在 Eclipse 的 Tween Animation( 下圖 ) 分為 alpha( 透明 ) 、 rotate( 旋轉 ) 、 scale( 縮放 ) 、 set( 集合 ) 、 translate( 平移 ) 等五種。 Alpha 的 XML 如下 : < alpha android:fromAlpha = "0" android:toAlpha = "1" android:duration = "2000" > </ alpha > Rotate 的 XML 如下: < rotate xmlns:android = "http://schemas.android.com/apk/res/android" android:fromDegrees = "0" android:toDegrees = "360" android:pivotX = "50%" android:pivotY = "50%" android:duration = "5000" > </ rotate > Scale 的 XML 如下: < scale android:fromXScale = "0.5" android:toXScale = "3.0" android:fromYScale = "0.5" ...

高中生程式解題系統:彩色蘿蔔

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 題目連結 http://zerojudge.tw/ShowProblem?problemid=a271 。 此題依照題目的條件即可,需要細心與耐心來解題。 程式碼: # include <cstdio> # include <cstring> int main ( void ) { int cnt; char data[ 512 ] = "" ; scanf ( "%d" , &cnt); while (cnt--) { int x, y, z, w, n, m, toxicCnt = 0 ; scanf ( "%d %d %d %d %d %d" , &x, &y, &z, &w, &n, &m); //printf("%d %d %d %d %d %d\n", x, y, z, w, n, m); getchar(); gets(data); int len = strlen (data); //printf("Len:%d %s\n", len, data); for ( int i = 0 ; i < len; i++) { //printf("toxicCnt = %d\n", toxicCnt); if ( data[i] == ' ' ) continue ; m = m - n * toxicCnt; //printf("m = %d\n", m); if (m <= 0 ) { printf ( "bye~Rabbit\n" ); break ; } switch (data[i]) { case '1' : m += x; break ; case '2' : ...

C++教學大綱 (C++ Courses Outlines)

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 C++教學 在研究所時,做的教學大綱,放在此留戀。 ======================================================= 時間: 9/15( 一 ), 9/16( 二 ), 9/22( 一 ), 9/23( 二 ), 9/29( 一 ), 9/30( 二 ), 10/6( 一 ), 10/7( 二 ) 晚上七點至十點   (19:00 ~ 22:00) ,共四周八天。 地點:綜三館   601 IC 設計實驗室 主講人:資工碩一   廖柄㷍 授課內容 Day One ( 9/15, 9/16 ) : Object-Based Programming Part I ( 以物件為基礎的程式設計 ) Class Definition ( 類別定義 ) Class Objects ( 類別物件 ) Class Members ( 類別成員 ) Overloaded Functions ( 多載化函式 ) Function Templates ( 函式範本 ) Day Two ( 9/22, 9/23 ) : Object-Oriented Programming Object-Based Programming Part II ( 以物件為基礎的程式設計 ) *this pointer (this  指標 ) Static Class Members ( 靜態類別成員 ) Constructor & Destructor ( 建構子與解構子 ) Overloaded Operators ( 運算子重載 ) Class Templates ( 類別樣板 ) Day Three ( 9/29, 9/30 ) : Object-Oriented Programming Part I( 物件導向程式設計 ) Inheritance ( 繼承 ) Polymorphism ( 多型 ) Day Four ( 10/6, 10/7 ) : Object-Oriented Programming P...

高中生程式解題系統:解方程

圖片
題目連結 http://zerojudge.tw/ShowProblem?problemid=a410 。 用 Cramer's Rule 來解,若有一聯立方程式如下(下圖取自 Cramer's Rule ): 則x與y的解為(下圖取自 Cramer's Rule ): 程式碼: # include <cstdio> using namespace std ; int main () { float a,b,c,d,e,f; while ( scanf ( "%f%f%f%f%f%f" ,&a,&b,&c,&d,&e,&f) != EOF ){ float det = a*e - b * d; float detX = c * e - b * f; float detY = a * f - c * d; if (det == 0 && detX == 0 ) printf ( "Too many\n" ); else if ( det == 0 ) printf ( "No answer\n" ); else { printf ( "x=%.2f\n" ,detX / det); printf ( "y=%.2f\n" ,detY / det); } } return 0 ; } 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

高中生程式解題系統:排列最大值

題目連結 http://zerojudge.tw/ShowProblem?problemid=b051 。 此題改寫 C++語言sort 的比較函數comp即可。 程式碼: # include <iostream> # include <string> # include <algorithm> using namespace std ; bool cmp ( const string & s1, const string & s2) { return (s1 + s2).compare(s2 + s1) > 0 ; } int main () { int n; while ( cin >> n) { string s[n]; for ( int i = 0 ; i < n; i++) cin >> s[i]; sort(s, s+n, cmp); for ( int i = 0 ; i < n; i++) cout << s[i]; cout << endl ; } return 0 ; } 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

高中生程式解題系統:00494 - Kindergarten Counting Game

題目連結 http://zerojudge.tw/ShowProblem?problemid=a011 。 筆者的解法如下: 使用兩個布林變數 bool curLetter; bool preLetter; curLetter 判斷目前的字元是不是英文字母大小寫。 preLetter 判斷前一個字元是不是英文字母大小寫。 一個整數變數 short wordCount = 0 ; 計算目前算出的英文字個數。 演算法步驟: Step 1. 將 preLetter 設為 false。 Step 2. 對每一個字元重複執行 Step 3到 Step 5。 Step 3. 判斷目前字元是不是英文字母。 Step 4. 若 (preLetter && !curLetter) ==> wordCount++ Step 5. preLetter = curLetter Step 6. 若 curLetter 為true時,wordCount++。 程式碼: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。