#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("它们的最大公约数为:%d\n",n);
printf("它们的最小公约数为:%d\n",p/n);
return 0;
}
方法二、//穷举法解两个数的最大公约数和最小公倍数
void exp(int num1,int num2){
int x,y,i;
x=num1;
y=num2;
int max=0;//最大公约数
for(i=1;i<=num1;i++)
if(num1%i==0&&num2%i==0)
max=i;
System.out.println("---------------------------------");
System.out.println("利用穷举法计算所得最大公约数为:"+max);
System.out.println("利用穷举法计算所得最小公倍数为:"+x*y/max);//最小公倍数
System.out.println("---------------------------------");
}
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。
#include
voidmain(){
inta,b,n1,n2,t;
while(true)
{
printf("任意输入两个正整数:\n");
scanf("%d%d",&n1,&n2);
if(n1
{
t=n1;
n1=n2;
n2=t;
}
a=n1;
b=n2;
while(b!=0){/*利用辗除法,直到b为0为止*/
t=a%b;
a=b;
b=t;
}
printf("最大公约数为:%d\n",a);
printf("最小公倍数为:%d\n\n",n1*n2/a);
}}
扩展资料
C语言求最大公约数辗转相除法
#include<stdio.h>
intgcd(intm,intn);//将辗转相除的过程封装为函数,使主函数结构清晰。
intmain(void)
{
inta,b;
while(~scanf("%d%d",&a,&b)){//多组数据输入时的方式之一与while(scanf("%d%d",&a,&b)!=EOF)用途相同
printf("%d\n",gcd(a,b));
return0;
}
intgcd(intm,intn)
{
returnn?gcd(n,m%n):m;//此函数将辗转相除的过程以递归的形式呈现,简化程序属于常规套路。
}
本回答被网友采纳c语言编程:输入两个正整数,求最大公约数和最小公倍数
printf("它们的最大公约数为:%d\\n",n);printf("它们的最小公约数为:%d\\n",p\/n);return 0;} 方法二、\/\/穷举法解两个数的最大公约数和最小公倍数 void exp(int num1,int num2){ int x,y,i;x=num1;y=num2;int max=0;\/\/最大公约数 for(i=1;i<=num1;i++)if(num1%i==0...
[C语言]编程:输入两个正整数,求其最大公约数和最小公倍数
include<stdio.h> int main(){ int m, n;int gcd, lcm;scanf("%d%d", &m, &n);gcd = m < n ? m : n;lcm = m > n ? m : n;do { if(m % gcd == 0 && n%gcd==0)break;gcd--;}while(1);do { if(lcm % m == 0 && lcm % n==0)break;lcm++;}while(1)...
C语言编程:输入两个正整数,输出其中最大公约数和最小公倍数。
printf("gongyueshu:%d\\n",a);printf("gongbeishu:%d\\n",num1*num2\/a);}
用C程序编写:输出两个正整数m和n,求其最大公约数和最小公倍数。
我给楼主说下思路:先输入两个整数,然后判断两数的大小,用大的数对小的取模,然后小的数自减直到余数为0,这个时候小的数就是两数的最大公约数,然后将输入的两个数相乘再除以做大公约数,得到的结果就是最小公倍数
c语言,输入俩个正整数n和m,求其最大公约数和最小公倍数
include<stdio.h>void main(){int a,b,i;scanf("%d %d",&a,&b);for(i=a+b;i>1;i--){if(a%i==0&&b%i==0){printf("最大公约数为%d,最小公倍数为%d\\n",i,a*b\/i);return 0;}}printf("最大公约数为1,最小公倍数为%d\\n",a*b);return 0;} 给你来个最简单的吧 ...
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。用C语言编程
输入两个正整数m和n, 求其最大公约数和最小公倍数.<1> 用辗转相除法求最大公约数 算法描述:m对n求余为a, 若a不等于0 则 m <- n, n <- a, 继续求余 否则 n 为最大公约数 <2> 最小公倍数 = 两个数的积 \/ 最大公约数 include int main(){ int m, n;int m_cup, n_cup...
c语言程序题,输入两个正整数m和n,求其最大公约数和最小公倍数。
输入两个正整数m和n,求其最大公约数和最小公倍数,可以参考下面的代码:include <stdio.h> void main (){ int m, n, p, q;printf ("请输入整数m,n的值:\\n");scanf ("%d, %d", &m, &n);p=m*n;while (n!=0){ q=m%n;m=n;n=q; \/\/这段是求最大公约数的算法 } ...
c语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数。
输入两个正整数m和n,求其最大公约数和最小公倍数。解:程序:include <stdio.h> int main(){ int num1, num2, t,p;printf("请输入两个正整数:");scanf("%d,%d", &num1, &num2);\/\/7,8 p = num1*num2;while (t = num1%num2)\/\/7 1 0,循环结束 { num1 = num...
...输入两个正整数m和n,求其最大公约数和最小公倍数
最大公约数:(辗转相除法)调整顺序使m>=n 循环 m=m%n; 如果m=0,则n为最大公约数,跳出循环。注:%表示取余运算。n=n%m; 如果n=0,则m为最大公约数,跳出循环。next 求出最大公约数G后,用m*n\/G得到最小公倍数。
用C语言编写程序:输入两个正整数m,n.求其最大公约数和最小公倍数
printf("请输入2个正整数m和抄n:");scanf("%d%d",&m,&n);a=m;b=n;if(m<n){ temp="m;" m="n;" n="temp;" }="" if(0="=n){" printf("除数为0!\\n");="" return;="" while(temp!="0){" printf("最大公约数袭为:zhidao%d\\n",n);="" printf("最小公倍数...