C语言——辗转相除法求最大公约数

2023-05-16

一、题目分析

求12和18的最大公约数,一般我们会想到从1开始一直到12除1,18除1,然后再一起除2....直到找出都能除到的最大公约数,但是这样12和18我们至少要运行12次,一旦数字多了我们运行的内存和时间都会变大

所以我们可以使用辗转相除法

我们令a=12 b=18,t=a%b

用t=12%18=12,令a=b=18,b=t=12;

t=18%12=6,令a=b=12,b=t=6;

t=12%6=0,a=b=6,b=t=0

当b=0时,a为最大公约数

二、代码如下

#include <stdio.h>

int main()
{    
  int a,b,t;
  scanf("%d %d",&a,&b);
  while(b!=0){
  	t=a%b;
	a=b;
	b=t; 
  } 
  printf("%d",a);
}
 

总结:

辗转相除法,要明确终止条件,通过a和b取余,用t储存余数,再进行挪位,直到b=0,

就有最大公约数a;明确逻辑后,代码就比较简单,只需要一个循环语句就可以实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言——辗转相除法求最大公约数 的相关文章

  • 数学分析 - 隐函数

    简介 xff1a 用多元函数 xff08 隐函数中自变量和因变量同时存在的表达式的作为多元函数的表达式 xff09 的思维来分析隐函数 隐函数的概念 定义 xff1a 隐函数的定义 xff08 一个多元函数F x y 构成的方程F x y
  • Error occurred while trying to proxy request项目突然起不来了

    1 如果你是之前还能项目能正常运行 xff0c 突然启不来了 xff0c 或者别人启起来 xff0c 你启不来 xff0c 请尝试以下办法 xff08 1 xff09 npm版本过低 步骤一 xff1a 查看npm版本 xff1a npm
  • Docker Debian安装Docker

    Debian安装Docker 内容由 网络搜罗整理而来 xff0c 记录与共享 一 APT安装 官方Debian存储库中提供的Docker安装包可能不是最新版本 为了确保我们获得最新版本 xff0c 我们将从官方Docker存储库安装Doc
  • 使用VsCode配置MySQL实现连接、查询、等功能

    场景 xff1a 使用VsCode配置MySQL实现连接 查询 等功能 xff08 mrx xff09 步骤 xff1a 打开vscode左边的拓展栏 1 搜索MySQL MySQL Syntax两个插件 xff0c 并安装 xff1b 2
  • centos7安装mysql5.7步骤(图解版)

    目录 一 下载mysql5 7安装包 二 mysql5 7安装包上传到linux服务器 三 检查系统是否安装过mysql 四 卸载CentOS7系统自带mariadb 五 检查有无安装过mysql 用户组 没有的话创建 六 安装mysql5
  • IDEA报错之Failed to start bean ‘documentationPluginsBootstrapper‘问题及解决方案

    笔者今日创建一个Spring Boot 项目准备做产品 基于IDEA搭建是非常容易的 但是万万没想到 居然一切顺理成章的创建之后 运行报错 非常痛惜 错误截图如下 核心错误 Failed to start bean documentatio
  • Linux界面和字体大小调整

    1 调整桌面显示屏幕大小 点击页面上方的系统 gt 首选项 gt 显示 点击显示后出现显示器分辨率调节 xff0c 将分辨率选择最大基本可以覆盖虚拟机整个屏幕 2 调整屏幕字体大小 点击页面上方的系统 gt 首选项 gt 外观 选择字体栏
  • SQL语句:分组查询

    在对数据表中数据进行统计时 xff0c 可能需要按照一定的类别分别进行统计 比如查询每个部门的员工数 使用GROUP BY按某个字段 xff0c 或者多个字段中的值 xff0c 进行分组 xff0c 字段中值相同的为一组 语法格式 查询列表
  • Ubuntu18.04安装后基础配置(换源+WIFI适配+ROS+VScode)

    简单记录一下 xff0c 新安装好的Ubuntu系统 xff0c 需要什么初始化步骤呢 xff1f 1 建议首先换源 xff0c 换清华源 xff08 需要插网线 xff09 首先连接网线 xff0c 系统需要有网络环境 打开 软件和更新
  • PyInstaller库—Python第三方库—程序打包

    PyInstaller的作用是将Python源文件 xff08 py xff09 打包 xff0c 变成直接可运行的可执行文件 首先需要下载安装PyInstaller库 xff0c 在cmd 中输入pip install PyInstall
  • vcpkg问题-环境配置

    参考博客 xff1a Visual Studio开源库集成器Vcpkg全教程 利用Vcpkg轻松集成开源第三方库 https blog csdn net cjmqas article details 79282847 先说一些装好以后注意的
  • PVE系统安装

    PVE是专为家庭设计打造的 xff0c 永久免费的开源平台 xff0c 在低配置的小主机上都能轻松运行的一款轻量级平台 PVE是专业的虚拟机平台 xff0c 提供一个家庭设备集中管理平台 xff0c 你可以利用它安装任何你想要的系统 1 制
  • 初识c语言系列-1-第一个c语言程序

    目录 1 61 61 该系列的介绍 61 61 2 61 61 未来的打算 61 61 3 61 61 简单介绍c语言 61 61 4 61 61 第一个c语言程序 61 61 1 该系列的介绍 首先呢 xff0c 开始这个系列之前呢 xf
  • NestJS 项目实战 需求分析(文末附视频)

    前言 一般常规的项目立项之初会有一份 MRD xff08 Market Requirements Document xff0c 市场需求文档 xff09 用来判断产品的必需性以及价值等 对于基础项目开发来说 xff0c 使用 MRD 可能有
  • python-数据分析2csv

    首先 xff0c 我们需要导入数据并计算一些统计指标 请按照以下步骤操作 xff1a 使用pandas库的read csv 函数导入CSV文件 使用head 函数查看前五行 使用info 函数查看数据类型和缺失值 使用describe 函数
  • (Python)使用清华源进行python的pip安装(任何环境,不用换源,用时只需加上一行代码

    xff08 Python xff09 使用清华源进行python的pip安装及pip批量安装的方法 一 介绍二 pip安装三 扩展批量安装库 一 介绍 当我们在下载pip时是否因为速度太慢而失去耐心 xff0c 甚至由于太慢还会报错导致安装
  • 手把手教你写第一个C语言程序

    目录 xff1a 一 C语言项目的创建 xff1a 二 写第一个C语言程序 在屏幕上输出Hello World xff1a C语言是所有编程语言的基础 xff0c 历经50多年的发展依然被众多编程者使用 xff0c 那么怎么写C语言程序呢
  • java实现输入一行字符,分别统计其中的英文字母,空格,数字,和其他字符的个数

    主要原理 xff1a 定义四个变量用来积累个数利用Scanner录入字符串使用 toCharArray转换字符串for循环遍历字符if判断每个字符类型打印各个类型字符个数 import java util Scanner public cl

随机推荐