用c#编写代码,运行后输入两个整数,求其的最大公约数,和最小公倍数。 最大公约数代码简单

文章主要介绍用c#编写代码,运行后输入两个整数,求其的最大公约数,和最小公倍数 。,以及最大公约数代码简单的详情,跟着小编一起来看看吧 。
用c#编写代码,运行后输入两个整数,求其的最大公约数,和最小公倍数 。using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
sushu
{
class
Program
{
static
void
Main(string[]
args)
{
int
m,
n,
i,
t;
Console.WriteLine("请输入第一个整数:");
m
=
int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个整数:");
n
=
int.Parse(
Console.ReadLine());
if
(m
>
n)
{
t
=
m;
m
=
n;
n
=
t;
}
for
(i
=
m;
i
>=
1;
i--)
{
if
(m
%
i
==
0
&&
n
%
i
==
0)
{
Console.WriteLine("最大公约数为:{0}",i);
break;
}
}
for(i=n;i<=m*n;i++)
{
if(i%m==0&&i%n==0)
{
Console.WriteLine("
最小公倍数为:{0}",i);
break;
}
}
}
}
}
求最大公约数和最小公倍数c语言代码

用c#编写代码,运行后输入两个整数,求其的最大公约数,和最小公倍数。 最大公约数代码简单

文章插图
最大公约数c语言编程的常用思路是:按照从大(两个整数中较小的数)到小(到最小的整数1)的顺序求出第一个能同时整除两个整数的自然数,即为所求 。
两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量i的初值从小数n开始依次递减,去寻找第一个能同时整除两整数的自然数,并将其输出 。
需要注意的是,虽然判定条件是i>0,但在找到第一个满足条件的i值后,循环没必要继续下去,如,25和15,最大公约数是5,对于后面的4、3、2、1没必要再去执行,但此时判定条件仍然成立,要结束循环只能借助break语句 。
具体代码实现:
#include<stdio.h>
int main()
{
int m,n,temp,i;
printf("Input m&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)
{/*输出满足条件的自然数并结束循环*/
printf("The GCD of%d and%d is:%d\n",m,n,i);
break;
}
return 0;
}
C++求最大公约数代码程序编写:
#include<iostream>
using namespace std;
int main()
{
int m,n,min,max;
cout<<"请输入两个正整数:"<<endl;
cin>>m>>n;
{
if(m>=n){
min=n;
}else{
min=m;
}
while(true){
if(m%min==0&&n%min==0){
cout<<"最大公约数是:"<<min<<endl;
break;
}
min--;
}
}
{
if(m>=n){
max=m;
}else{
max=n;
}
while(true){
if(max%m==0&&max%n==0){
cout<<"最小公倍数是:"<<max<<endl;
break;
}
max++;
}
}
}


c语言求两个数的最大公约数思路:求两个数的最大公约数使用辗转相除法 。
辗转相除法,
又名欧几里德算法(Euclidean
algorithm)乃求两个正整数之最大公因子的算法 。原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数 。
参考代码:
#include <stdio.h>
int main()
{
int x,y,z;
scanf("%d%d",&x,&y);
while(x!=0)
{
z=x%y;
x=y;
y=z;
}
printf("%d\n",z);
return 0;
}
/*
运行结果:
6 27
3
*/
VB中求最大公约数的方法求最大公约数的方法可以通过递减法来求,具体编程步骤如下:
Private Function gcd(x As Integer, y As Integer) As Integer
Dim div As Integer
If x < y Then
div = x
Else
div = y
End If
While div > 1
If x Mod div = 0 And y Mod div = 0 Then
gcd = div
Exit Function
Else
div = div - 1
End If
Wend
gcd = 1
End Function
扩展资料:
最大公约数的求法:
(1)质因数分解法
质因数分解法:把每个数分别分解质因数,再把各数中的全部公有质因数提取出来连乘,所得的积就是这几个数的最大公约数 。
例如:求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 。
(2)短除法
短除法:短除法求最大公约数,先用这几个数的公约数连续去除,一直除到所有的商互质为止,然后把所有的除数连乘起来,所得的积就是这几个数的最大公约数 。
短除法求最小公倍数,先用这几个数的公约数去除每个数,再用部分数的公约数去除,并把不能整除的数移下来,一直除到所有的商中每两个数都是互质的为止,然后把所有的除数和商连乘起来,所得的积就是这几个数的最小公倍数,例如,求12、15、18的最小公倍数 。
短除法的本质就是质因数分解法,只是将质因数分解用短除符号来进行 。
短除符号就是除号倒过来 。短除就是在除法中写除数的地方写两个数共有的质因数,然后落下两个数被公有质因数整除的商,之后再除,以此类推,直到结果互质为止(两个数互质) 。
而在用短除计算多个数时,对其中任意两个数存在的因数都要算出,其它没有这个因数的数则原样落下 。直到剩下每两个都是互质关系 。
求最大公因数便乘一边,求最小公倍数便乘一圈 。
【用c#编写代码,运行后输入两个整数,求其的最大公约数,和最小公倍数。 最大公约数代码简单】-最大公约数