判断是否互素的函数C语言 怎么判断互素

写一个判断两个数是否互素的c/c的函数#includeiostream.h
bool Check(int a,int b)
{
int min=ab?a:b;
int work;
for(int i=2;i=min;)
{
work=0;
if(a%i==0)
{
a/=i;
work;
}
if(b%i==0)
{
b/=i;
work;
}
if(work==2)
return false;
if(work==0)
i;
}
return true;
}
void main()
{
int a,b;
cout"请输入两个数以判断它们是不是互素:"endl;
cinab;
if(Check(a,b))
cout"它们互素"endl;
else
cout"它们不互素"endl;
}
如何用c语言编写一个判断两个数互为素数的程序#include stdio.h
int prime(int a, int b)
{
return (b == 0)? (a == 1) : prime(b, a % b);
}
int main()
{
int a, b;
printf("Input two number: ");
scanf("%d %d", a, b);
if (prime(a, b))
printf("Yes\n");
else
printf("No\n");
return 0;
}
用C语言如何判断素数?素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数 , 例如17就是素数,因为它不能被 2~16 的任一整数整除 。
思路1、判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数 。
思路2、判断方法还可以简化 。
m 不必被2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了 。如果 m 不能被2~√m 间任一整数整除 , m必定是素数 。例如判别17是是否为素数 , 只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数 。
原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m 。
例如16能被2、4、8整除,16=2*8,2小于 4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可 。
两种思路的代码请看解析 。
拓展资料:
素数(prime number)又称质数,有无限个 。素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数 。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发 。C语言能以简易的方式编译、处理低级存储器 。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言 。
参考资料:
百度百科——素数
【判断是否互素的函数C语言 怎么判断互素】百度百科——C语言
用C语言如何判断素数按照如下步骤即可用C语言判断素数:
1、首先打开visual C6.0,然后点击左上角的文件 , 再点击新建 。
2、然后在弹出的新建对话框中点击CSource File 。
3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型 。
4、然后再定义变量并输入一个数字 , 即定义变量的数据类型 , 输出文字提示,再输入一个数字 。
5、然后用for函数和if函数判断是否是素数 。
6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言 。
编写一个C语言程序判断一个数是否是素数目的:判断一个数是否为素数
# include stdio.h
int main(void)
{
int m;
int i;
scanf("%d",m);
for(i = 2; im; i)//2到(m-1)的数去除m
{
if(m% i == 0)// 判断能否整除
break;
}
if (i == m)
printf("YES!\n");
else
printf("No!\n");
}
for循环的功能:
①若能整除 , 通过break跳出函数;
②若一直到m-1都不能整除,此时i再自增1到m,不满足im跳出for循环 , 这时i = m 。
扩展资料:
素数定理:
1、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数 。
2、存在任意长度的素数等差数列 。
3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数 。(挪威数学家布朗,1920年) 。
4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界 。(瑞尼,1948年) 。
5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数 。后来,有人简称这结果为 (15)(中国潘承洞,1968年) 。
6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数 。简称为 (12) 。
参考资料来源:百度百科-质数
判断两个数a,b是否为互质数的程序 , 用C语言编写?两个数互质,就是说两个数的没有公共因子,即最大公约数是1
程序如下:
#include stdio.h
int GCD(int x,int y)//最大公约数函数 , 欧几里德算法
{
int a,b,c;
if(xy)
{a=x,b=y;}
else
{a=y,b=x;}
while ((a%b)!=0)
{
c=a%b;
a=b;
b=c;
}
return b;
}
int main()
{
int m,n;
printf("please input two positive numbers:");
scanf("%d%d",m,n);
if(GCD(m,n)1)
printf("两个数不是互质的 。\n");
else
printf("两个数是互质的 。\n");
}
输入示例:100 3
输出:两个数是互质的 。
程序在DEV C下调试通过,最大公约数计算使用的是欧几里德算法(数论基础知识),看过就明白了 。
判断是否互素的函数C语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怎么判断互素、判断是否互素的函数C语言的信息别忘了在本站进行查找喔 。

    推荐阅读