發表文章

目前顯示的是 2015的文章

高中生程式解題系統:完全平方和

題目連結 http://zerojudge.tw/ShowProblem?problemid=a059 。 演算法如下: 找出在範圍 [a, b]內大於或等於 a 的完全平方數(sqrt),與 a 的平方根(k)。 當 sqrt小於或等於 b 時 {   將 sqrt加到 sum裡   k+= 1   sqrt= k* k } 程式碼: # include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std ; int main ( int argc, char ** argv) { int t, a, b; cin >> t; int sum[t]; int i = 0 ; do { cin >> a; cin >> b; int k = 1 ; int sqrt = 1 ; sum [i] = 0 ; while ( sqrt < a) { k++; sqrt = k * k; } //cout << "S:" << sqrt << endl; if ( sqrt <= b) sum[i] = sqrt ; else sum[i] = 0 ; k++; sqrt = k * k; while ( sqrt <= b) { // cout << "S:" << sqrt << endl; sum[i] += sqrt ; k++; sqrt = k * k; } //cout << sum[i] << endl << endl; i++; } while (i < t)...

數線的觀念

圖片
把一個 數字 放到直線上的一個 點 , 很多點 ( 數字 ) 所組成的線稱為 數線 以下圖為例, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6 都是這條直線上的整數, -3 和 -2 之間又有許多的小數 ( 浮點數 ) ,每一個小數在數線上都可用一個點來代表,而在數線上左邊的點是小於右邊的點。 若要在數線上標出 1/4 ,因為 0.25 介於 [0, 1] 兩個整數之間,於是將 [0, 1] 之間的線段做 4 等分切割,每一格的長度就是 ,1/4 而 0 + 0.25 就是 1/4( 紅色箭頭 ) 的位置了。 註:數線圖是由此 網址 所產生的。 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

吃不完的巧克力 - 相似形

圖片
第一次看到這影片時,馬上想到被切掉一小塊後的整塊巧克力面積一定小於原本的,只是視覺上被騙而已,而這個也是魔術的手法之一,真是個維妙維肖的假長方形阿! 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

高中生程式解題系統:新手訓練 ~ for + if

題目連結 http://zerojudge.tw/ShowProblem?problemid=a244 。 此題要用 long long int 型態,其他依照題目要求即可。此外筆者在程式碼二用了 Array of Function Pointers 的解法。 程式碼一: # include <cstdio> int main () { int n; while ( scanf ( "%d" , &n) != EOF) { int a; long long int b, c; for ( int i = 0 ; i < n; i++) { scanf ( "%d %lld %lld" , &a, &b, &c); switch (a) { case 1 : printf ( "%lld" , b+c); break ; case 2 : printf ( "%lld" , b-c); break ; case 3 : printf ( "%lld" , b*c); break ; case 4 : printf ( "%lld" , b/c); break ; default : break ; } printf ( "\n" ); } } return 0 ; } 程式碼二: # include <iostream> using namespace std ; long long int add ( long long int b, long long int c) { return b + c; } long long int mins ( long long int b, long long int c) { return b - c; ...

惡搞嘻語言第二嘻:嘻資料

在 C 語言中,宣告一個變數的語法為: 變數型態  變數 1, 變數 2, ...., 變數 n; 詳細的教學可參考底下兩個網頁: http://www.tutorialspoint.com/cprogramming/c_data_types.htm http://pydoing.blogspot.tw/2010/06/c-datatype.html #include <stdio.h> #include <stdlib.h> #include <limits.h> #include <stdint.h> int main( void ) { // 有號整數 short sht; // -32768->32767 int i; // -32768->32767 long l; // -2147483648->2147483647 // 無號整數 unsigned short usht; unsigned int ui; unsigned long ul; // 浮點數 float f; // 單精準度 double d; // 雙精準度 // 字元,請參考 http://www.asciitable.com/ char c = 'a' ; c = 97; printf( " 型態 \t\t 大小( bytes ) \n" ); printf( "short\t\t%d\n" , sizeof ( short )); printf( "int\t\t%d\n" , sizeof ( int )); printf( "long\t\t%d\n" , sizeof ( long )); printf( "float\t\t%d\n" , sizeof ( float )); printf( "double\t\t%d...

惡搞嘻語言第一嘻:嘻上路

前言 (Preface) 啥是前言,本系列文章的前夕 ( 戲 ) 嗎?本系列會有高潮可言嗎?不會有!所以請略過此節。 全世界都不會的嘻 (hello.c) #include <stdio.h> // 函式 printf 的 header file #include <stdlib.h> // 函式 system 的 header file int main( void ) { printf( " 嘻嘻嘻嘻嘻 \n" ); // 輸出文字 printf( " CCCCcc\n" ); printf( " CC\n" ); printf( " C\n" ); printf( "CC\n" ); printf( " C\n" ); printf( " CC\n" ); printf( " CCCCcc\n" ); system( "pause" ); // Console 視窗等待使用者輸入鍵盤上的任意按鍵 printf( "C What?!\n" ); printf( " 嘻什麼? \n" ); system( "pause" ); return 0; } 在寫程式的時候,大多都不會自己從低階的組合語言 ( http://it-easy.tw/assembly-language/ ) 開始寫,於是嘻語言提供了共用的函式庫,如此例中的 printf 與 system 都是由嘻語言所提供的,而 #include < filename .h> 就是告訴 Compiler 有用到此兩個函式,不要給我 compile error 啊,而在產生執行檔時, linker 就會將相關的 *.obj 給加進來 ( 細節請參考 << 程式設計師的自我修養:連結、載入、程式庫 >> 一書 ) 。 嘻練習: 使用 printf...

讀書筆記:沒了名片,你還剩下什麼?

在大學時,我曾公開表明:「若有同學在沒畢業前就要創業公司,記得要找我。」 當時的我就像一般年輕人想創業的心態一樣,「有夢想卻不正視現實層面。」 直到現在身邊還是會有一些人會問我:「我會去創業開公司嗎?」 我的心態如同作者與一些創業者(如中國藍)類似:「在現有的職場上沒有退路時,就只有創業一路。」 底下是從書上挑選下來的筆記: Chapter 1 掌握自我定位 <<< 理想主義者是不可救藥的:如果他被扔出他的天堂,他會再製造出一個理想的地獄。---尼采 >>> * 進了知名企業像進了魔法學院,拿出魔法卡會有意想不到的效果。 * 把自己視為獨立事業體來經營,就是創業! * 創業是自己和伙伴們獨立創造賴以生存的價值,而不是向別人借錢去滿足自己達不到的夢想。 * 該考量的,不是滿足於小小的平穩,而是有一個遠大的夢想,大到能奮力去追尋的地步。 * 這年頭要擔任公職,其實是「押很大」的賭注! * 工作是人生最重要的一部分,如果可能,應該去享受,而非忍受。 * 如果渴望悠閒的生活,馬上就要行動,而不是期待數十年後退休的那天開始。 * 找到描述自己的關鍵字 * 平凡其實很貴 * 履歷 = 別人眼中的自己 * 履歷 = 自我的回顧與展望 Chapter 2 了解職場規則 <<< 我們必須習慣,站在人生的交叉路口,卻沒有紅綠燈的事實。---海明威 >>> * 老闆所需要的,是能幫公司降低風險的人,一個人若能把事情都想的周到、看得遠、顧慮的清晰,他的重要性其實只會增加不會減少。 * 天底下根本沒有公不公平的問題,只有你有沒有利用價值的問題。 * 當主管的心態建議:注意寂寞、小心安全感、要有良心;長期職涯發展的建議:透明度、忍耐力、接班人。 * 在對的時間點,很輕易做到的功勞,比累得要死,卻看不出成果的苦勞更有用。 * 不管進入哪個產業,有沒有辦法獨當一面,成為不靠特定組織也能運作的個體,比預測哪個產業會賺大錢要重要得多。 * 「寧為蛇頭,勿為牛尾」在跆拳道和職場上都是適用的。 Chapter 3 增加自我籌碼 <<< 「一個人表現優異,一個人表現平平,他們的差異與才華無關。成效其實與行為習慣及一些基本原則有關。」---彼得...

高中生程式解題系統:新手訓練 ~ 陣列應用

題目連結 http://zerojudge.tw/ShowProblem?problemid=a248 。 此題和台中女中程式解題系統的 c046: 3.小數點後N位 一題類似,解法是以「除法的直式計算」的觀念,搭配程式的迴圈來實作。 程式碼一: # include <cstdio> int main () { int a, b, n; while ( scanf ( "%d%d%d" , &a, &b, &n) != EOF) { printf ( "%d." , a / b); a = a % b; for ( int i = 0 ; i < n; i++) { a = a * 10 ; printf ( "%d" , a / b); a = a % b; } printf ( "\n" ); } return 0 ; } 程式碼二: /**********************************************************************************/    /*  Problem: c046 "3.小數點後N位" from 108校內初賽                                         */    /*  Language: C++             ...