第一章 程式設計入門
第二章 迴圈結構程式設計
第三章 陣列和字串
第四章 函式和遞迴
出現的問題(有些真的想不太通,先記住好惹):
雞兔同籠問題先寫由題目得出的等式,結果如果正確就一定是偶數……畢竟兔和雞都是偶數隻腳。
求素數/謂詞/質數(被1和他自身整除的、大於1的整數稱為素數)只要求到平方根就行,因為任何乙個數都不可能分解成兩個大於其平方根的數的乘積,只能分解為乙個大於或等於其平方根,另乙個小於或等於其平方根
閏年:①能被400整除,②被4整除但不能被100整除
完全平方數:乙個數能表示某個整數的平方形式
乙個數裡面打頭的數取值範圍是1~9,乙個數裡面打尾的數字才要被四捨五入
目前幾乎在所有的比賽平台上,int都是32位整數即-2147483648~2147483647
25!的末尾有6個零,所以從第25開始,後面所有的項都不會影響和的末6位數字(因為1~25:5,10,15,20,25(5*5)一共有6個因數5,而因數5的個數決定末尾0的個數)
100這種看著就很少的次數有的時候題目簡單可以用窮舉法。
經常要用到的一些字母或者符號以及數字可以儲存為常量陣列。
出現的函式:
include
計算x的算術平方根:sqrt(x);
計算x的反余弦:acos(x);(acos(1.0)=π)
計算不超過x的最大整數:floor(x);
include
從陣列a賦值k個元素到陣列b(int a[maxn],b[maxn];):memcpy(b,a,sizeof(int)*k);【浮點型陣列就是double】
從陣列a全部複製到陣列b中:memcpy(b,a,sizeof(a));
在乙個字串陣列中查詢單個字元:strchr(s,buf[i]);(在乙個字元都沒讀到的時候返回null)
#include
sort(陣列名,陣列末位址(sizeof(x)陣列長度),compare); (若不寫compare則預設公升序排列)
#include
判斷字元是否是字母(大小寫都算):isalpha(ch);(是字母返回1 ,否則返回 0)
判斷字元是否是數字(0-9):isdigit(ch);(是字母返回1 ,否則返回 0)
檢查ch是否是可列印字元(包括空格): isprint(ch); (是返回1 ,否則返回 0)
將ch字元轉換成大寫字母:toupper(ch);(返回ch所代表的的字元的大寫字母)
將ch字元轉換為小寫字母:tolower(ch);(返回ch所代表的的字元的小寫字母)
include
計時函式:clock();在程式之前呼叫此函式,便可獲得整個程式的執行時間。這個時間除以常數clocks_per_sec只會得到的值以「秒」為單位
演算法競賽入門經典(第二版) 習題
習題2 5 include int main if 10 n b 10 b 5 確定末位四捨五入的情況 printf d 10 n b 1 else printf d 10 n b return 0 注意 要及時輸出,防止n越界 習題2 6 include void result int num,i...
《演算法競賽入門經典(第二版)》 隨筆
c語言中整數值用 d輸出,實數 浮點數 用 f輸出。kiss原則 keep it and stupid 獲得程式執行時間 包括鍵盤輸入時間 include printf 執行時間 2f n double clock clocks per sec 輸入個數未知時 while scanf d x 1 對...
《演算法競賽入門經典(第二版)》習題(二)
習題 2 1 水仙花數 輸出100 999中的所有水仙花數。若3位數abc滿足abc a b c 則稱其為水仙花數。例如 153 1 5 3 所以153是水仙花數。include intmain return0 習題 2 2 韓信點兵 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三...