A. c語言求最大公約數,最小公倍數 的流程圖
//這里求最大公約數用了歐幾里德演算法,你自己上網查查吧,數論書里也有。
//最小公倍數=a/最大公約數*b,數論書上也有證明
#include<stdio.h>
int gcd(int a,int b){return a%b?gcd(b,a%b):b;}
int main()
{
int a,b,gcd_,lcm_;
scanf("%d%d",&a,&b);
gcd_=gcd(a,b);
lcm_=a/gcd_*b;
printf("最小公倍數:%d\n最大公約數:%d\n",lcm_,gcd_);
return 0;
}
B. C語言程序設計如何求最大公約數
具體操作步驟如下:
一、新建一個C語言源程序,使用Visual C++6.0的軟體。
C. 跪求兩個正整數的最大公約數和最小公倍數的C語言流程圖
左邊是最大公約數,右邊是最小公倍數
D. c語言,求兩個數m和n的最大公約數的流程圖。
假設m是大的,n是小的。
1、判斷m能否被n整除,如果能,則最大公約數就是n。
2、k=m-n。比較n和k,假設n大,k小。m=n; n=k; 重復第1步驟。直到m能被n整除為止。
#include "stdio.h" //包含頭文件
main()
{
int m,n,i,min; //定義變數
printf("Please Input n and m: "); //列印這句話
scanf("%d%d",&n,&m); //輸入n和m的值
min=n>m?m:n; //條件運算符,判斷n、m那個最小,並將最小值賦給變數min
for(i=min;;i--) //從最小值起循環,每次減一
if(n%i==0&&m%i==0) //當循環到某一值的時候,n和m都能被i整除,即i為最小公約數
break; //當i為最大公約數時,退出循環
printf("common divisor: %d ",i); //列印最大公約數
}
當知道最大公約數時,最小公倍數=(m)乘以(n)除以(最大公約數)
(4)最大公約數c語言流程圖擴展閱讀:
例如:求24和60的最大公約數,先分解質因數,得24=2×2×2×3,60=2×2×3×5,24與60的全部公有的質因數是2、2、3,它們的積是2×2×3=12,所以,(24,60)=12。
例如:求6和15的最小公倍數。先分解質因數,得6=2×3,15=3×5,6和15的全部公有的質因數是3,6獨有質因數是2,15獨有的質因數是5,2×3×5=30,30裡麵包含6的全部質因數2和3,還包含了15的全部質因數3和5,且30是6和15的公倍數中最小的一個,所以[6,15]=30。
E. 求兩個正整數最大公約數和最小公倍數的C語言程序框圖
在網路搜索:最小公倍數流程圖最大公約數流程圖在網路圖片裡面有,我下了個,你看看
F. 求最大公約數的C語言程序,程序流程圖。高手求助
#include<stdio.h>
void main(){
int a,b,i,d,c = 1;//c是存放公約數的變數
printf("輸入兩個數(以逗號隔開):");
scanf("%d,%d",&a,&b);
i = 2;
if ( a > b)
d = b;
else
d = a;
while( d >= i ){
if ( 0 == a%i && 0 == b%i)
{
c = c * i;
a = a/i;
b = b/i;
d = d/i;
}
i++;
}
printf("他們的最大公約數為:%d\n",c);
}
有那看不懂我在解說
G. 請教高手 C語言問題 編程實現求兩個數的最大公約數,要有流程圖
這個問題能用輾轉相除法來解決。
具體來說,就是18和27
27
=
18
*
1
+
9;
18
=
9
*
2;
這個時候沒余數了,9就是最大公約數。
寫成代碼的形式就是下面的了
#include<stdio.h>
int
main()
{
int
a,b,t;
scanf("%d%d",&a,&b);
t
=
a
+
b;
a
=
a
>
b
?
a
:
b;
b
=
t
-
a;//把最大值賦給a
while
(1)
{
if
(a%b)
{
t
=
a
%
b;
a
=
b;
b
=
t;
}
else
{
break;
}
}
printf("%d",b);
return
0;
}
H. 求c語言求最大公約數和最小公倍數的程序以及思路
先貼結果:
測試數據一:
24,8
最大公約數為:8
最大公倍數為:24
測試數據2:
13,7
最大公約數為:1
最大公倍數為:91
再貼代碼:
#include <stdio.h>
#include <stdlib.h>
#include "conio.h"
#include<math.h>
int maxFac(int m,int n)
{
int temp;
int r;
if(m<n)
{
temp=m;
m=n;
n=temp;
}
r=m%n;
while(r)
{
m=n;
n=r;
r=m%n;
}
return n;
}
int maxBei(int m,int n)
{
int temp=0;
if(m<n)
{
temp=m;
m=n;
n=temp;
}
temp=m;
while(m%n!=0)
{
m=m+temp;
}
return m;
}
int main()
{
int m,n;
scanf("%d,%d",&m,&n);
printf("最大公約數為:%d\n",maxFac(m,n));
printf("最大公倍數為:%d\n",maxBei(m,n));
getch();
}
再寫思路:
程序用函數來完成的
maxFac().輸入2個數,返回最大公約數
輾轉相除法
maxBei()輸入2個數,返回最小公倍數
最大的那個數的X倍肯定是最小的那個的倍數。一直嘗試下去
比如13,7.那麼我就看13的一倍能否整除7,不行看2倍,3被……最後到7被的時候肯定可以。2個的都是素數。
睡覺去了。樓主晚安!
I. c語言程序設計關於求兩個正整數的最大公約數和最小公倍數的流程圖和盒圖。
C語言是Combined Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。希望幫到你吧。