1. c語言題目:寫一個求最大公約數和最小公倍數的函數。並調用函數。
#include <stdio.h>
void main()
{
int a,b;
printf("請輸入兩個數:");
scanf("%d%d",&a,&b);
int gys(int a,int b);
int gbs(int a,int b);
printf("最大公約數=%d",gys(a,b));
printf("最小公倍數=%d",gbs(a,b));
}
int gys(int a,int b)
{
int gys,i;
for(i=1;i<=a&&i<=b;i++)
if(a%i==0&&b%i==0)
gys=i;
return(gys);
}
int gbs(int a,int b)
{
int gbs;
gbs=a*b/gys(a,b);
return(gbs);
}
2. c語言函數調用求最大公約數和最小公倍數
最大公約數:(輾轉相除法)int MaxDenominator(int a,int b){if(a%b==0) return b;return MaxDenominator(b,a%b);}最小公倍數:int MinMultiple(int a,int b){return a*b/MaxDenominator(a,b); //要用到最大公約數演算法}
最大公約數:(輾轉相除法)int MaxDenominator(int a,int b){if(a%b==0) return b;return MaxDenominator(b,a%b);}最小公倍數:int MinMultiple(int a,int b){return a*b/MaxDenominator(a,b); //要用到最大公約數演算法}
3. 怎麼求兩個數的最大公約數 用c語言編寫
int a[1001], b[1001], n,m;
long result = 1;
輸入n,a,m, b
int i, j;
for (i = 0; i<n; i++)
{
for(j=0; j<m; j++) {
int t = gccd(a[i], b[j]);
if (t>1) {
result = (result * t) %100000000;
b[j] /= t;
a[i] /= t;
}
}
}
輸出:result
int gccd(int a, int b)
{
if(b == 0) return a;
return gccd(b, a%b);
}