首页 综合精选正文

辗转相除法c语言流程图(辗转相除法c语言)

综合精选 2024-06-12 16:23:34
导读 用辗转相除法(即欧几里得算法)求两个正整数的最大公约数。 解析: 设两个数m,n,假设m>=n,用m除以n,求得余数q。若q为0,则m...

用辗转相除法(即欧几里得算法)求两个正整数的最大公约数。

解析: 设两个数m,n,假设m>=n,用m除以n,求得余数q。

若q为0,则m为最大公约数;若q不等于0,则进行如下迭代: m=n,n=q,即原除数变为新的被除数,原余数变为新的除数重复算法,直到余数为0为止。

余数为0时的除数n,即为原始m、n的最大公约数。

迭代初值:m,n的原始值; 迭代过程:q=m%n; m=n; n=q; 迭代条件:q!=0 例如:m=8;n=6 q=m%n(8%6==2) m=n(m==6) n=q(n==2) 因为:(q==2)!=0,重复算法: q=m%n(6%2==0) m=n(m==2)余数为0时的除数n为最大公约数,n值赋给了m,所以输出m的值 n=q(n==0) 因为:q==0 所以最大公约数为m的值 源程序: #include void main() { int m,n,q,a,b; printf("Enter two integers:"); scanf("%d%d",&a,&b); m=a; n=b; if(n>m) { int z; z=m;m=n;n=z;//执行算法前保证m的值比n的值大 } do { q=m%n; m=n; n=q; }while(q!=0); printf("The greatest common divisor of"); printf("%d,%d is %d",a,b,m); } 希望对你有所帮助!。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

头条推荐

身份证号提取年龄的公式 excel(身份证号提取年龄)

身份证号提取年龄的公式 excel(身份证号提取年龄)

马缨花阅读理解及答案(马缨花)

马缨花阅读理解及答案(马缨花)

十分完全的英文(完全的英文)

十分完全的英文(完全的英文)

核能是否属于可再生能源(核能属于可再生能源还是非可再生能源)

核能是否属于可再生能源(核能属于可再生能源还是非可再生能源)

团员小结不足之处(团员小结不足)

团员小结不足之处(团员小结不足)

智能家居论文该从哪些方面来写(智能家居论文参考文献)

智能家居论文该从哪些方面来写(智能家居论文参考文献)

快乐大本营马天宇家里毛坯房(快乐大本营马天宇是哪一期)

快乐大本营马天宇家里毛坯房(快乐大本营马天宇是哪一期)

日本知名平面设计师有哪些人(日本知名平面设计师有哪些)

日本知名平面设计师有哪些人(日本知名平面设计师有哪些)

高中同学英文(同学英文)

高中同学英文(同学英文)

华南理工建筑学院研究生院(华南理工建筑学院)

华南理工建筑学院研究生院(华南理工建筑学院)

图文推荐

辗转相除法c语言流程图(辗转相除法c语言)

辗转相除法c语言流程图(辗转相除法c语言)

香港城市网app下载(香港城市网)

香港城市网app下载(香港城市网)

二手cd机什么牌子好(二手cd机)

二手cd机什么牌子好(二手cd机)

莘莘学子的读音是什么(芊芊学子)

莘莘学子的读音是什么(芊芊学子)

设区市和地级市的区别是什么(设区市和地级市的区别)

设区市和地级市的区别是什么(设区市和地级市的区别)