freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

7-20xx上機(jī):常用算法-常見錯(cuò)誤(已修改)

2025-08-05 08:08 本頁面
 

【正文】 第一部分 簡單應(yīng)用題(常用算法)希望閱讀上學(xué)期上機(jī)實(shí)驗(yàn)手冊(cè) 中“常用算法總結(jié)”部分。1. 素?cái)?shù)(質(zhì)數(shù)) 算法總結(jié)3l 編一個(gè)函數(shù)用于判斷一個(gè)數(shù)是否是質(zhì)數(shù)(素?cái)?shù))。 int isprime2(int x) { int k, i。 k=sqrt(x)。 for(i=2。 i=k。 i++) /* i=k 可改寫為 i=x/2 */ if(x%i==0) return(0)。 return(1)。}l 函數(shù)fun(int n) 完成的功能是將n分解為質(zhì)數(shù)的積的形式。如 90=2335。簡54題講2. 因子l 函數(shù)fun(int n)計(jì)算所有n的因子(是約數(shù),包括1但不包括自身)之和int fun(int n){ int sum=0。 for( int i=1。 in。 i++ ) if(n%i==0) sum+=n。 return sum。 }l 一個(gè)數(shù)恰好等于它的所有因子(不包括自身)之和,這個(gè)數(shù)就稱為“完數(shù)”,例如6=1+2+3。編程找出1000以內(nèi)的所有完數(shù)。void main( ){ for( int i=1。 i1000。 i++ ) if( i==fun(i) ) coutiendl。 }l 函數(shù)fun(int m, int n) 判定兩個(gè)數(shù)是否是親和數(shù)。親和數(shù)的定義:如果n的所有因子之和(因子除掉自身)等于m。m的所有因子之和等于n,則判定m、n是互為親和數(shù)。l 求出x的所有約數(shù),并調(diào)用函數(shù)寫入文件中。void f(int x){ for(int i=1。 i=x。 i++) if(x%i==0) WriteFile(i)。 //題目本身給出的函數(shù)用于輸出}3. 公約數(shù)、公倍數(shù) 算法總結(jié)5l 求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。 4. 多項(xiàng)式求和 算法總結(jié)2l 求sum(n) = 1! + 2! + 3! +…+ n! l 求Sn=1+1/1!+1/2!+1/3!+1/4!+ … +1/n!l 函數(shù)int fun(int number)返回Sn = 1/1 + 1/2 + 1/3 +…+ 1/numberl 函數(shù)fun(int n)計(jì)算在n范圍內(nèi),能被7或11整除的所有整數(shù)的倒數(shù)和。l 請(qǐng)編寫函數(shù)fun(),其功能是計(jì)算并輸出當(dāng)x,直到∣SnSn1∣。Sn=1++() x2/2! +()() x3/3! + … ()()…(+1) xn/ n!5. 其他基本算法,輸出格式控制等l 函數(shù)int fun(int y, int m, int d)計(jì)算并返回某年某月某日是當(dāng)年的第幾天。(特殊情況:若是閏年且月份大于3,則加一天)。編一個(gè)函數(shù)用于判斷一個(gè)年份是否是閏年。簡37題講l 請(qǐng)編寫一個(gè)函數(shù) printdate(int year, int month, int day),該函數(shù)實(shí)現(xiàn)將輸入的3個(gè)數(shù)字轉(zhuǎn)換成英語數(shù)字紀(jì)年輸出的功能,如輸入1978 3 9,則輸出 March 9, 1978。 金牌第40題講解l 函數(shù) bool fun(int i, int j, int k)判斷三個(gè)長度是否構(gòu)成三角形。l 根據(jù)n的大小,輸出由*組成的圖形,如n=5,輸出:* * * ** ** *** *** *** ***** **** **** *** ***** ***** * 打印程序l 輸出99口訣,涉及輸出格式的控制。l 函數(shù) int fun(int data, int m, int n)返回dada的二進(jìn)制中m位與n位之間的數(shù)據(jù)。 涉及位運(yùn)算例如:data=1258965 m=13 n=4則data的二進(jìn)制為:0000 0000 0001 0011 0011 0101 1101 0101應(yīng)返回:0000 0000 0000 0000 0000 0101 1101 0000即1488備注:最低位為第1位,最高位為第32位。 簡62題講6. 數(shù)制轉(zhuǎn)換l 將x的值轉(zhuǎn)換成二進(jìn)制數(shù)輸出到屏幕。 簡8題講l 將八進(jìn)制組成的字符串轉(zhuǎn)換成十進(jìn)制值。如:“34”轉(zhuǎn)換結(jié)果為:28。int fun(char* str){ int n=0。 for(int i=0。 str[i]!=39。\039。 i++) n = n*8 + str[i]39。039。 //A return n。}l 將二進(jìn)制組成的字符串轉(zhuǎn)換成十進(jìn)制值。如:“11010”轉(zhuǎn)換結(jié)果為:26。解:將上題A行改為n = n*2 + str[i]39。039。l 函數(shù)void To8(char* des, char *str)的功能是將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成八進(jìn)制數(shù)據(jù)。如:1001010的八進(jìn)制數(shù)據(jù)為112。 簡47題講 本題較難可跳過7. 數(shù)的分解合并 算法總結(jié)6, 7 l 函數(shù) int fun(int m, int n)將m的個(gè)位和十位放到一個(gè)數(shù)字z的百位和千位中,然后n的百位和千位放到z的個(gè)位和十位中,最后由函數(shù)返回z。z = m%10*100 + m/10%10*1000 + n/100%10 + n/1000%10*10l 函數(shù)int fun(int n)實(shí)現(xiàn)求n的各個(gè)位上數(shù)字之和。l 給一個(gè)四位整數(shù)加密:方法是每位數(shù)字加上5后除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換,然后返回得到的密碼。l 補(bǔ)充函數(shù)fun(long s, long *t),使之從低位開始取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為:642。(涉及數(shù)的分解與合并)。 簡36題講解 l 請(qǐng)編寫一個(gè)函數(shù)sortnum(int num),參數(shù)num是一個(gè)三位的整數(shù),該函數(shù)將num的百位、十位和個(gè)位的數(shù)字進(jìn)行重排,并返回由上述的三個(gè)數(shù)字組成的最大的三位數(shù)。 金牌28題講8. 迭代 算法總結(jié)4 l 函數(shù) double fun(double number)通過迭代法返回number的平方根。迭代公式為Xn+1=(Xn+ number/Xn)。void main( ){ float a, x0, x1。 cina。 x1=a/2。 do { x0=x1。 x1=(x0+a/x0)/2。 }while(fabs(x1x0)=1e5)。 coutThe square root of a is x1endl。}l 函數(shù)double fun( ) 實(shí)現(xiàn)求cos(x)=x的一個(gè)解。 迭代公式為:xn+1=cos(xn) 程序采用迭代法,迭代法的實(shí)現(xiàn)思想如下:(1)設(shè)x1=0。(2)然后cos(x1)得到x2,;(3),則繼續(xù)迭代。9. 遞歸l 遞歸求階乘,非遞歸求階乘 123…nl 遞歸求累加和, 1+2+3+…+nl 遞歸求sum(n) = 1*1 + 2*2 + 3*3 + … + n*n遞歸公式:sum(n) = sum(n1) + n*n int sum(int n){ if(n==1) return( 1 )。 else return (sum(n1)+n*n) 。 }l 遞歸求Fib數(shù)列的第n項(xiàng),遞歸公式F(n)=F(n1)+F(n2)l 用遞歸算法實(shí)現(xiàn)數(shù)組a[ ]的前n個(gè)元素之和。 解答00l 函數(shù)fun(double n, int k)實(shí)現(xiàn)的功能是求n的0~k次方的和。即 n0+n1+n2+n3+…+nk 例如:fun(2, 4) = 1+2+4+8+16 = 31要求:要用遞歸實(shí)現(xiàn)。提示:fun(n, k) = fun(n, k1) + n的k次方。[ 用到函數(shù)power(m, n) 求m的n次冪,即mn ]l 函數(shù)fun(int n, int k)利用遞歸算法實(shí)現(xiàn)從n個(gè)人中選擇k個(gè)人的不同組合情況。算法實(shí)現(xiàn):由n個(gè)人選擇k個(gè)人的組合數(shù)=由(n1)個(gè)人選擇k個(gè)人的組合數(shù)+由(n1)個(gè)人中選擇(k1)個(gè)人的組合。若n=k或k=0,則返回1。l age(int n)函數(shù)實(shí)現(xiàn)的功能是:在一起的n個(gè)人,問第n個(gè)人年齡是多少,他說比第n1個(gè)人大2歲,問第n1個(gè)人,說比第n2個(gè)人大2歲,依次類推,最后一個(gè)人剛會(huì)數(shù)數(shù)字,才2歲。問第n個(gè)人多大年齡。10. 窮舉法 l 水仙花數(shù)。(三重循環(huán))算法總結(jié)6 l 函數(shù)fun( )的功能是用4四個(gè)數(shù)字,組成互不相同且無重復(fù)數(shù)字的三位數(shù),并將這些數(shù)輸出到屏幕,并且每輸出一個(gè)三位數(shù)字就換一行。 void fun( ) //紅、黃、藍(lán)、白、黑5種顏色的球 { //取出3種不同的球的可能取法 int i, j, k。 for(i=1。 i5。 i++) for(j=1。 j5。 j++) for(k=1。 k5。 k++) if(i!=j amp。amp。 i!=k amp。amp。 j!=k) coutijk39。 39。 coutendl。}l 函數(shù)fun(int N[4])的功能是用4個(gè)數(shù)字,組成互不相同且無重復(fù)數(shù)字的三位數(shù),并將滿足所有條件的數(shù)字輸出到屏幕,并且每輸出一個(gè)三位數(shù)字就換一行。如果判定第一個(gè)數(shù)字是0則也去掉??商钤诎傥?、十位、個(gè)位的數(shù)字是0。組成所有的排列后再去掉不滿足條件的排列。如果判定第一個(gè)數(shù)字是0則也去掉。(三重循環(huán)) 簡23題講 (與上題差別,本題使用數(shù)組元素作為各位上的數(shù)字)。l 在某范圍內(nèi)(如10萬以內(nèi)),找出一個(gè)數(shù),他加上100后是一個(gè)完全平方數(shù),再加上268又是一個(gè)完全平方數(shù)。(單循環(huán))。 算術(shù)平方根是正整數(shù)的數(shù)叫做完全平方數(shù),如25 11. 函數(shù)l 引用做參數(shù),將三個(gè)參數(shù)重新排序,交換變量值。l 指針做參數(shù),交換變量值。金牌第2題講解, 金牌第5題講解12. 函數(shù)模板l 函數(shù)T fun(T* p, int len) 用于返回?cái)?shù)組中最大值的元素。金牌第42題講解13. 字符串操作l 統(tǒng)計(jì)字符串中數(shù)字字符 ’0’~’9’ 出現(xiàn)的總次數(shù)。int CalcDigital(char *str){ int t=0。 if(str==NULL) return 0。 for(int i=0。 str[i]!=39。\039。 i++) if(39。039。=str[i] amp。amp。 str[i]=39。939。) t++。 return t。}l 統(tǒng)計(jì)字符串中26個(gè)英文字母 ’a’~’z’ 分別出現(xiàn)的次數(shù)。即統(tǒng)計(jì)‘a(chǎn)’出現(xiàn)的次數(shù),‘b’出現(xiàn)的次數(shù),…….等。不區(qū)分大小寫,如認(rèn)為‘a(chǎn)’和‘A’是同一字母。void Count(char *str){ int a[26]={0}。 if(str==NULL) return。 for( 。 *str。 str++) if(39。a39。=*str amp。amp。 *str=39。z39。) a[*str39。a39。]++。 else if(39。A39。=*str amp。amp。 *str=39。Z39。) a[*str39。A39。]++。 for(int i=0。 i26。 i++) coutchar(39。a39。+i)39。=39。a[i]endl。}void main( ){ Count(ABcabCz)。}l 將字符串中出現(xiàn)的數(shù)字轉(zhuǎn)換成數(shù)值存儲(chǔ)在整型數(shù)組a[ ]中,然后返回轉(zhuǎn)換的個(gè)數(shù)。例如:str= “12341454abcdefg234”;則:a[ ]中的值為1,2,3,4,1,4,5,4,2,3,4,返回11。int fun(char* str, int a[]){ int i,
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1