Ⅰ c語言編程,輸出兩個數字的因子,求最大公約數
#include <stdio.h> int main() { int m, n, p, tmp; printf("請輸入兩個正整數:\n"); scanf("%d %d", &m, &n); p = m * n; while (n != 0) { tmp = m % n; m = n; n = tmp; } printf("最大公約數: %d\n", m); printf("最小公倍數: %d\n", p / m); return 0;}
Ⅱ C++編寫程序求兩個數最大公因數和最小公倍數
方法一:輾轉相除法:
首先判斷m是否小於n,不然交換兩個值,始終保持m永遠是最大的值,求余d=m%n,判斷余數是否為0如過為0,則最大公因數為n,否則m=n;n=d;接著求余直到余數d為0,此時最大公因數為n。
方法二:相減法:
如果m,n相等,最大公因數為兩個數的任何一個,否則當m>n時,m=m-n,n>m時,n=n-m,一直減到m=n時輸出max等於m,n兩個數任何一個。
方法三:窮舉法
首先保持第一個數為最大的值否則交換兩個值,令i=m,開始遞減,直到m和n同時除以i為0,此時輸出最大公因數為max=i。
Ⅲ C語言程序設計如何求最大公約數
具體操作步驟如下:
一、新建一個C語言源程序,使用Visual C++6.0的軟體。
Ⅳ 程序設計-求最大公因數
本文使用 歐幾里得演算法 來求 最大公因數 。
即,15和35的最大公因數為5。因為15 = 3 x 5 35 = 7 x 5 = 35 它們能夠同時被5整除
此時余數為0 除數為9 則(36,81)得最大公因數為9.
1⃣️ 計算余數和除數
大數除小數得余 去放到下一層計算
2⃣️ 確定終止條件
其中一個為0,則返回另一個 此數則為最大公因數
Ⅳ 用C語言編程:求兩個整數的最大公約數。
我把樓上的程序改了一下,他有的地方錯了
#include "stdio.h"
main()
{ int factor(int a,int b);
int m,n;
scanf("%d%d",&m,&n);
factor(a,b);
}
int factor(int a,int b)
{ int t,i=1;
while (i<=a&&i<=b)
{ if(a%i==0&&b%i==0)
t=i;
i++;
}
printf ("最大公約數為%d\n",t);
return 0;
}
這樣應該能用了。
Ⅵ 編程求兩個數的最大公因數
int m,n;//兩個數
int M;//M放最小的那個數
M=m;
if(m>n) M=n; 求出最小的數M
for(int t=1;t<=M;t++)
if(m%i==0&&n%i==0)//能同時被m和n整除的數賦值給x,虛幻到最後,得到的x就是最大公因數
x=i;
簡單寫的如下
public class test15 {
public static void main(String[] args) {
int m=6,n=7;//兩個數
int M;//M放最小的那個數
int x=0;
M=m;
if(m>n) M=n; //求出最小的數M
for(int t=1;t<=M;t++)
if(m%t==0&&n%t==0)//能同時被m和n整除的數賦值給x,虛幻到最後,得到的x就是最大公因數
x=t;
System.out.print(x);
}
}
Ⅶ 怎麼編程求一組整數的最大公因數
什麼編程環境?
以c為例:
1:構建一個數組,存放臨時數據
2:設計一個函數,用來求每個整數的因數,並存入數組
3:求出公因數,刪除數組其它數值
4:冒泡法排序求最大值
Ⅷ C語言編程:輸入兩個正整數m和n,求它們的最大公約數。
#include <stdio.h>
int gcd(int a,int b)
{
if(a%b)
return gcd(b,a%b);
return b;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d ",gcd(m,n));
return 0;
}