当前位置: 首页 > news >正文

求最大公约数(c语言)

285b9f52d76e44c4a4d7c3838a19ab5d.png

先看题👇

42a7f2c5223a419782f7e15bc20ba431.png

我这里介绍的方法:辗转相除法:

最大公约数:

        最大公约数是指同时能整除俩个或更多整数的最大正整数。



欧几里得算法就是求最大公约数的算法

求最大公约数涉及到一个数学原理的转换:

        俩个数的最大公约数等于其中一个数和另一个数的余数的最大公约数

算法步骤:

1.初始化:

        设俩个非负整数a,b ,假设(a>b)

2.取模运算:

        将a除以b,然后取余数r

3.更新值

                将b的值赋值给a

                将余数赋值给b

              公式:  a=b  b=r

4.循环

                重复步骤2,3

                直到b==0

5.结果:

                当b==0时,此时就时最大公约数

例子👇mod(就是取余数)

54a8c7f3f3f24dd3962af9e8fc0ae298.png

写成c语言程序

#include<stdio.h>
int main()
{int a =10;int b =20;while(b!=0){int temp =b;b=a %b;a=temp;}printf("%d ",a);
return 0;
}

while里头就是欧几里得算法的内容

cdacbdb40bbc46f491dce6d809709ad2.png

这道题目代码如下:

#define _CRT_SECURE_NO_WARNINGS//给定俩个数,求这俩个数的最大公约数
#include <stdio.h>// 函数:计算最大公约数
int gcd(int a, int b)
{// 使用辗转相除法while (b != 0){int temp = b;b = a % b;a = temp;}return a;
}int main()
{int num1, num2;// 输入两个数printf("请输入两个整数: ");scanf("%d %d", &num1, &num2);// 计算最大公约数int result = gcd(num1, num2);// 输出结果printf("最大公约数为: %d\n", result);return 0;
}

代码运行

e8dd89c4aace473bafc6969619a8a2c5.png

f6c4fe54a37d40458f11ccbdf173ccba.png

http://www.lryc.cn/news/463855.html

相关文章:

  • Android Camera2在textureView中的预览和拍照
  • Redis的缓存问题
  • C语言小游戏--猜数字
  • 代理IP在爬虫中的作用是什么?
  • 卡尔曼讲解与各种典型进阶MATLAB编程(专栏目录,持续更新……)
  • Java项目-基于Springboot的智慧养老平台项目(源码+文档).zip
  • 如何测试IP速度?
  • IDEA使用Alibaba Cloud Toolkit插件自动化部署jar包
  • FFMPEG录屏(19)--- 枚举Windows下的屏幕列表,并获取名称、缩略图
  • 【python】NumPy(三):文件读写
  • 硬件产品经理的开店冒险之旅(下篇)
  • 基于GeoScene Pro的开源数据治理与二维制图规范化处理智能工具箱
  • CSS 设置网页的背景图片
  • 如何使用DockerSpy检测你的Docker镜像是否安全
  • 数据结构练习题4(链表)
  • 【前端】如何制作自己的网站(7)
  • 《数字图像处理基础》学习02-BMP位图文件
  • 车辆管理系统设计与SpringBoot技术融合
  • 常见TCP/IP协议基础——计算机网络
  • SVM支持向量机python实现
  • linux查看系统类型
  • SpringSecurity 捕获自定义JWT过滤器抛出的异常
  • 中小型企业网络的设计与实现
  • 小马识途海外媒体推广有何优势?
  • Spring Boot知识管理:跨平台集成方案
  • 逆向工程基本流程
  • target_include_directories是如何组织头文件的?
  • 【Flutter】Dart:运算符
  • ChatGPT01-preivew体验报告:内置思维链和多个llm组合出的COT有啥区别呢?丹田与练气+中学生物理奥赛题测试,名不虚传还是名副其实?
  • 《云计算网络技术与应用》实训6-1:配置KVM虚拟机使用NAT网络