C语言习题 求键盘输入的两个正整数的最大公约数和最小公倍数
C语言习题 求键盘输入的两个正整数的最大公约数和最小公倍数
C语言习题 求键盘输入的两个正整数的最大公约数和最小公倍数
#include <stdio.h>int main(){ int a,b,i,min,max; a、b储存读入的两个正整数 scanf("%d%d",&a,&b); max = 1; for(i=2;i<=a;i++) { if(a%i==0 && b%i==0) max = i; } min = a*b; for(i=a*b-1;i>=a;i--) { if(i%a==0 && i%b==0) min = i; } printf("%dt%dn",max,min); 先后输出最大公因数和最小公倍数 return 0;}这个演算法适合输入比较小的情况,不是很高效。C语言从键盘输入两个正整数m和n,求最大公约数和最小公倍数
#include <stdio.h>
void main()
{
int m,n,r,x;
scanf("%d,%d",&m,&n);
x=m*n;
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
printf("%d %dn",m,x/m);
}
C语言 若输入M,N两个正整数求最大公约数和最小公倍数
#include<iostream.h>
void main()
{
int m,n,r,p;
cout<<"Please enter o numbers:";
cin>>m>>n;
if(m<n)
{
int t=n;
n=m;
m=t;
}
p=m*n;
if(n!=0)
{
r=m%n;
m=n;
n=r;
}
cout<<"最大公约数为:"<<n<<endl;
cout<<"最小公倍数为:"<<p/n<<'n';
}
c语言,输入两个正整数m和n,求两个数的最大公约数与最小公倍数
下面用到了递回解决,不知楼主能否看懂。不懂用百度hi和我私聊我也很乐意。递回只是求最大公约数,通过最大公约数求最小公倍数。
#include "stdio.h"
void main()
{
int m,n,d,e;
int g(int x,int y);
scanf("%d%d",&m,&n);
if(m<n)
{
d=m;m=n;n=d;
}
d=g(m,n);
e=m*n/d;
printf("最大公约数:%d,最小公倍数:%dn",d,e);
}
int g(int x,int y)
{
int z;
z=x%y;
if(z==0) return y;
else
{
x=y;y=z;
g(x,y);
}
}
C语言:输入两个正整数m和n,求其最大公约数和最小公倍数。
<1> 用辗转相除法求最大公约数 演算法描述: m对n求余为a, 若a不等于0 则 m <- n, n <- a, 继续求余 否则 n 为最大公约数 <2> 最小公倍数 = 两个数的积 / 最大公约数 #include int main() { int m, 追问: ?不完全啊 回答: <1> 用辗转相除法求最大公约数演算法描述:m对n求余为a, 若a不等于0 则m <- n, n <- a, 继续求余 否则n 为最大公约数 <2> 最小公倍数 = 两个数的积 / 最大公约数#includeint main(){int m, n;int m_cup, n_cup, res; printf("Enter o integer:n"); scanf("%d %d", &m, &n); if (m > 0 && n >0){m_cup = m;n_cup = n;res = m_cup % n_cup; while (res != 0){m_cup = n_cup; n_cup = res;
程式设计题:用while回圈求两个正整数(键盘输入)的最大公约数和最小公倍数。
#include <stdio.h>
int main()
{
int m,n,r,tm,tn;
scanf("%d %d", &m,&n ); 输入两个数
tm=m;
tn=n;
if(m<n){
r=m;
m=n;
n=r;交换m,n
}
r=m%n;
while(r){
m=n;
n=r;
r=m%n;
}
printf("最大公约数n=%d最小公倍数=%dn", n, tm*tn/n );
return 0;
}
用C语言,编写--输出任意两个正整数的最小公倍数和最大公约数.
#include<stdio.h>
int min(int a,int b)
{
int z;
return(z=a>b?b:a);
}
int main()
{
int z,r,a,b,i,c,d;
while(scanf("%d%d",&a,&b)&&a!=0&&b!=0)
{
z=min(a,b);
for(i=z;i>0;i--)
{
if(a%i==0&&b%i==0)
break;
}
c=a/i;
d=b/i;
r=i*c*d;
printf("%d %dn",i,r);
}
return 0;
}

用C语言。输两个正整数,求其中最大公约数和最小公倍数。
输入的两个数请用空格分隔,如:12 18
#include <stdio.h>
int main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m:");
scanf("%d%d,",&n,&m);
if (n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("它们的最大公约数为:%dn",n);
printf("它们的最小公约数为:%dn",p/n);
return 0;
}
c#语言,输入两个正整数m和n,求其最大公约数和最小公倍数。
import java.util.Scanner;
public class Divisor1 {
static int m;
static int n;
int a,b;
public static void main(String[]args){
输入两个数m,n
System.out.println("请输入第一个数m=");
Scanner in = new Scanner(System.in);
int m = in.nextInt();
System.out.println("请输入第二个数n=");
int n = in.nextInt();
int r;
while(n!=0){
r = m%n;
m = n;
n = r;
}
System.out.println(m);