發表文章

目前顯示的是 12月, 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...