C語言“最大公約數和最小公倍數”程式碼講解
題目:輸入兩個正整數m和n,求最大公約數和最小公倍數。
操作方法
(01)首先開啟CodeBlocks,建立一個新專案。專案語言,選擇“c”, 我們將專案名稱命名為“MaxAndMin”,然後下一步,“finish”。
(02)建立好專案後,我們開啟 “main.c”檔案。在這裡我們先分析一下題目。輸入兩個正整數m和n,求最大公約數和最小公倍數此程式要求 輸入兩個數,處理後,輸出兩個結果。這裡我們繼續用到 自定義函式 分別來完成最大公約數和最小公倍數。
(03)首先是main函式部分,我們完成輸入功能其中m和n是輸入的兩個數,num是將來儲存的最大公約數。num的值是由後面我們定義的函式,來賦值的。
(04)這裡為了能更加嚴謹,我們要強制使用者輸入正確的數for(;;)表示一個無窮迴圈 同樣使用while(true)也可達到無窮迴圈效果。在迴圈中要求使用者多次輸入,直到使用者輸入合法的數值
(05)接下來,當用戶輸入合法之後。我們就要寫else的情況了。但在寫之前,我們先要將計算最大公約數和最小公倍數的函式定義出來(詳細見圖)
(06)首先是最大公約數其中r用來儲存餘數。這裡我們簡單說一下演算法過程。 首先我們將m和n求餘數(誰大誰小不影響)。當得到的餘數r不是0,就表示 m和n之間不是倍數關係。那麼我們將m的值改為n,n中從存取r 再次執行r=m%n 。意思就是,反覆的用餘數取模餘數,直到0位置。就是n中存的就為最大公因數了。
(07)最後是,最小公倍數函式,很簡單,利用公式(m*n)/最大公約數,很快就能得到結果。這就免除了麻煩的計算過程
(08)最後,回到main中,我們將程式碼補全。在else中 分別呼叫兩個函式。這樣程式碼就完成了。以下為main函式中的程式碼
(09)接下來執行,我們輸入 6,3 其中3就是最大公因數,6是最小公倍數。到這裡就結束了。但其實程式碼還存在問題。當我們輸入的數沒有公因數時,就出bug。這個自己可以開動腦筋去解決。
-
世界價格最貴的貓:阿什拉貓17萬一只(身高1.2米混血貓)
導語:貓咪是十分惹人喜愛的動物,很多人都對這種動物十分喜愛。關於世界最大的貓,世界最小的貓大家都有所瞭解,那麼世界最貴的貓大家知道嗎?世界上最貴的貓是17萬一只的阿什拉貓,下面和探祕志小編一起來了解一下吧。世界價格最貴的貓:阿什拉貓阿什拉貓是世界上價格最...
-
撲街是什麼意思?粵語中罵人的詞,源自英文Poor guy
解答:撲街主要表達3種意思:1.原意是走路被絆倒,撲倒在馬路上;2.遊戲中角色死亡,或者指乞丐;3.粵語中的“仆街”同意,源自外語中的“poorguy”,本意是罵人,也可表達一種倒黴的意思。撲街是什麼意思?1.古文中撲街是撲倒在路上是指走路被絆倒,“撲”是撲倒,“街”是在街上...
-
馬斯洛需求層次理論 揭祕馬斯洛的5個需求
導語:美國社會心理學家馬斯洛將人的需求像階梯一樣排列,最終由低到高分成了五種,分別是生理需求、安全需求、社交需求、尊重需求和自我實現需求,後來他又探討了另外兩種求知需要和審美需要,不過沒有被加到前面,其中最基本的需求就是生理需求,和探祕志一起看看吧。馬斯...
-
ABO血型系統是什麼?血型是按照什麼來劃分的
導語:ABO血型系統是根據紅血球表面有沒有特別的凝集原A和B來區分血液,最早是由德斯坦納在1900年發現和提出的,主要分為A、B、AB、O四種血型,假如在紅血球上只有凝集原A的話就是A型血,如果血型不適合就會引起凝集,從而導致血管堵塞,下面探祕志就帶大家一起看看ABO血型...