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

(38)找出数组的最大公约数

文章目录

  • 每日一言
  • 题目
  • 解题思路
  • 代码
  • 结语


每日一言

无论在什么样的社会里,一个人的理想,是为了多数人的利益,为了社会的进步,对社会生产力的发展起了促进作用,也就是说,合乎社会历史的发展规律,就是伟大的理想。——陶铸


题目

题目链接:找出数组的最大公约数

给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。

两个数的 最大公约数 是能够被两个数整除的最大正整数。

  • 示例 1:
    输入:nums = [2,5,6,9,10]
    输出:2
    解释:
    nums 中最小的数是 2
    nums 中最大的数是 10
    2 和 10 的最大公约数是 2

  • 示例 2:
    输入:nums = [7,5,6,8,3]
    输出:1
    解释:
    nums 中最小的数是 3
    nums 中最大的数是 8
    3 和 8 的最大公约数是 1

  • 示例 3:
    输入:nums = [3,3]
    输出:3
    解释:
    nums 中最小的数是 3
    nums 中最大的数是 3
    3 和 3 的最大公约数是 3

提示:

2 <= nums.length <= 1000
1 <= nums[i] <= 1000


解题思路

一步一步来,先找最大最小值,再求两数的最大公约数


代码

int findGCD(int* nums, int numsSize) {
    int min = nums[0];
    int max = nums[0];

    //找最大和最小值
    for(int i=1;i<numsSize;i++)
    {
        if(min > nums[i])
            min = nums[i];
        if(max < nums[i])
            max = nums[i];
    }

    //求最大公约数,辗转相除法
    int tmp = 0;
    while(tmp = max%min)
    {
        max = min;
        min = tmp;
    }

    return min;//返回最大公约数
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正



http://www.kler.cn/a/230968.html

相关文章:

  • 校准大麦服务器时间,实现本地时间和服务器时间同步,无缝衔接抢购
  • mac如何实现升级node版本、切换node版本
  • Vue代理模式和Nginx反向代理(Vue代理部署不生效)
  • Matlab图像处理——基于小波变换的数字图像水印嵌入和提取算法(GUI界面)
  • 代码随想录训练营第三十期|第二十九天|回溯算法part05|491.递增子序列* 46.全排列* 47.全排列 II
  • php 函数三
  • 【算法】【数据结构】算法与数据结构的关系
  • 【数据结构】二叉树的顺序结构及实现(堆)
  • PHP入门指南:进阶篇
  • 定制红酒:如何通过定制红酒提升企业形象
  • 封装图片预览组件
  • 10. Springboot集成Dubbo3(一)简单介绍
  • 学习Android的第五天
  • [C语言]C语言实战项目------单链表通讯录
  • iOS面试题
  • Linux的进程信号
  • 从零开始手写mmo游戏从框架到爆炸(一)— 开发环境
  • Java+SpringBoot:构建稳定高效的计算机基础教学平台
  • thinkphp获取用户最新的阅读记录,按书籍id去重,返回最新的阅读记录
  • Bootstrap5 响应式导航栏