Ⅰ 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;
}