C语言约数是什么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言约数是什么相关的知识,希望对你有一定的参考价值。

参考技术A

C语言约数数学上约数定义是一样的,

也就是“约数又称因数,整数A除以整数B(B≠0) 除得的商正好是整数而没有余数,我们就说A能被B整除,或B能整除A。A称为B的倍数,B称为A的约数”。

C语言,输出两个数的最大供约数和最小公倍数,

C语言,输出两个数的最大供约数和最小公倍数,为什么输入12和18输出了floating point expection?
#include<stdio.h>
int gys(int x,int y)
int i,z;
for(i=y;i>=1;i--)
if(x%i==0&&y%i==0)
z=i;break;
return(z);

int gbs(int x,int y)
int i,z;
for(i=x;;i++)
if(x%i==0&&y%i==0)
z=i;break;
return(z);

int main()
int m,n,t;
int gys(int x,int y);
int gbs(int x,int y);
scanf("%d%d",&m,&n);
if(m<n)
m=t;t=n;n=m;
printf("最大公约数是%d\n最小公倍数是%d\n",gys(m,n),gbs(m,n));
return 0;

while(a%b!=0)a=b;b=a%b;
这句话错了,第二句b=a%b时,a已经变为了b,所以会出错,这里必须有一个临时变量。

在while外声明int tmp;

改成
while(a%b!=0)tmp=a;a=b;b=tmp%b;
参考技术A if(m<n)
m=t;t=n;n=m;
这块错了,m和n都赋值成0了
参考技术B int gbs(int x,int y)
   int i,z;
    for(i=x;;i++)
    if(x%i==0&&y%i==0)
        z=i;break;
    return(z);

x%i==0&&y%i==0应该是
i%x==0&&i%y==0

以上是关于C语言约数是什么的主要内容,如果未能解决你的问题,请参考以下文章

C语言运行程序显示为啥有乱码?

求一个用c语言编写的,编写函数计算两个整数的所有公约数的编程

c语言如何将数组作为全局变量

C语言 · 约数个数

C语言辗转相除法求2个数的最小公约数

c语言 分解质因数