2019-09-05
算法是程序和軟件的靈魂。作為一名優(yōu)秀的程序員,只有全面掌握一些基本算法,他才能在設(shè)計(jì)程序和編寫代碼的過程中得心應(yīng)手。這篇文章包括經(jīng)典作品。
算法描述:描述解決問題或完成任務(wù)所采取的方法和步驟,包括需要什么數(shù)據(jù)(輸入什么數(shù)據(jù)和輸出什么結(jié)果)、采用什么結(jié)構(gòu)、使用什么語(yǔ)句以及如何排列這些語(yǔ)句。一般來說,自然語(yǔ)言、結(jié)構(gòu)化流程圖、偽代碼等。用來描述算法。廣州C語(yǔ)言培訓(xùn)怎么樣呢?
首先,簡(jiǎn)單的算法,如計(jì)數(shù)、求和、階乘等
這類問題都需要使用循環(huán)。應(yīng)注意根據(jù)問題確定循環(huán)變量的初始值、終值或結(jié)束條件。應(yīng)該更加注意用于表示計(jì)數(shù)、總和和階乘的變量的初始值。
例如,使用一個(gè)隨機(jī)函數(shù)來生成[0,99]范圍內(nèi)的100個(gè)隨機(jī)整數(shù),并且每個(gè)比特上的數(shù)字?jǐn)?shù)分別被計(jì)數(shù)為1,2,3,4,5,6,7,8,9,0并被打印出來。
本主題通過使用數(shù)組來處理。數(shù)組a[100]用于存儲(chǔ)生成的100個(gè)隨機(jī)整數(shù),數(shù)組x[10]用于分別存儲(chǔ)1、2、3、4、5、6、7、8、9、0中的數(shù)字。也就是說,比特?cái)?shù)1存儲(chǔ)在x[1],比特?cái)?shù)2存儲(chǔ)在x[2],比特?cái)?shù)0存儲(chǔ)在x[10]。
找出兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)
分析:求最大公約數(shù)的算法思想:(最小公倍數(shù)=兩個(gè)整數(shù)的乘積/最大公約數(shù))
(1)對(duì)于已知的兩個(gè)數(shù)字m,n,使m > n;
(2)余數(shù)r是用m除以n得到的;
(3)如果r=0,則n是獲得的最大公約數(shù),算法結(jié)束;否則,執(zhí)行(4);
(4) m←n,n←r,然后重復(fù)(2)。
判斷質(zhì)數(shù):
只能被1整除的數(shù)或其本身被稱為質(zhì)數(shù)?;舅枷胧且詍為被除數(shù),2-int()為除數(shù)。如果它們都不可分,m是質(zhì)數(shù),否則就不是質(zhì)數(shù)。
哥德巴赫猜想的驗(yàn)證:
(任何大于或等于6的偶數(shù)都可以分解成兩個(gè)素?cái)?shù)的和)
基本思想是:n是大于或等于6的任意偶數(shù),可以分解為n1和n2。檢查n1和n2是否分別是質(zhì)數(shù),如果是,它們是一組解。如果n1不是質(zhì)數(shù),就沒有必要檢查n2是否是質(zhì)數(shù)。從n1=3開始,檢查n1和n2(n2=N-n1)是否是質(zhì)數(shù)。然后n1+2檢查n1和n2是否是質(zhì)數(shù),...直到n1=n/2。
算法是程序和軟件的靈魂 作為一名優(yōu)秀的程序員,只有掌握了一些基本算法,他才能在設(shè)計(jì)程序和編寫代碼的過程中得心應(yīng)手。 本文中包含的經(jīng)典
指針對(duì)c太重要了 然而,為了完全理解指針,除了掌握C語(yǔ)言之外,還必須具備計(jì)算機(jī)硬件、操作系統(tǒng)等方面的基本知識(shí)。