計算兩個數的最大公約數
根據約數的定義可知,某個數的所有約數必不大于這個數本身,幾個自然數的最大公約數必不大于其中任何一個數。要求任意兩個正整數的最大公約數即求出一個不大于其中兩者中的任何一個,但又能同時整除兩個整數的最大自然數。
算法思路:按照從大(兩個整數中較小的數)到?。ǖ阶钚〉恼麛?)的順序求出第一個能同時整除兩個整數的自然數,即為所求。
代碼示例:
#include<stdio.h> int main() { int m, n, temp, i; printf("請輸入任意2個數:\n"); scanf("%d%d", &m, &n); if(m<n) /*比較大小,使得m中存儲大數,n中存儲小數*/ { /*交換m和n的值*/ temp=m; m=n; n=temp; } for(i=n; i>0; i--) /*按照從大到小的順序尋找滿足條件的自然數*/ if(m%i==0 && n%i==0) {/*
輸出:
計算兩個數的最小公倍數
思路:求任意兩個正整數的最小公倍數,即求出一個最小的能同時被兩整數整除的自然數。
代碼示例:
#include<stdio.h> int main() { int m, n, temp, i; printf("請輸入任意2個數:\n"); scanf("%d%d", &m, &n); if(m<n) /*比較大小,使得m中存儲大數,n中存儲小數*/ { /*交換m和n的值*/ temp=m; m=n; n=temp; } for(i=m; i>0; i++) /*從大數開始尋找滿足條件的自然數*/ if(i%m==0 && i%n==0) {/*
輸出:
最小公倍數也可以使用最大公約數來求,公式:
● 最小公倍數=兩數的乘積/最大公約(因)數
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com