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

求个数不确定的整数的最大公约数(java)

题目

编程实现,求个数不确定的整数的最大公约数

题目源自java程序设计基础第八版(学习版)6章6.15题

代码

/*
编程实现,求个数不确定的整数的最大公约数
 */
class calculate_ex6_15{//定义计算的类
    int ca(int[] array){//定义最主要的方法——寻找最大公约数
        int min=findMin(array),ta=1;
        int[] record=new int[array.length];//定义 记录 数组
        for (int i=min;i>0;i--){//循环寻找最大公约数,从数组当中最小的一个值开始循环,自减
            for (int j=0;j<array.length;j++){
                if (Math.ceilMod(array[j],i)==0)//如果余数等于零就记录零
                    record[j]=0;
                else//否则就记录1
                    record[j]=1;
            }
            if (exam(record)){//对 record 进行检验
                ta=i;
                break;
            }
        }
        return ta;
    }
    boolean exam(int[] array){//定义检验方法
        boolean flag=false;
        for (int i=0;i<array.length;i++){
            if (array[i]==1) {//如果记录值为1则 flag 等于 false ,结束循环,然后返回值
                flag = false;
                break;
            } else if (i==array.length-1)
                flag=true;
        }
        return flag;
    }
    int findMin(int[] array){//找到数组中最小的一个元素
        int min=(int)Double.POSITIVE_INFINITY;//假设 min 的初始值是一个最大的整数
        for (int j : array) {//通过循环寻找最小值
            if (j < min)
                min = j;
        }
        return min;
    }
}
public class ex6_15 {
    public static void main(String[] args) {
        int[] a={13,17,15,19,31};//给定个数不确定的整数
        System.out.println("最大公约数为:"+new calculate_ex6_15().ca(a));//匿名对象
    }
}

运行结果

 

总结 

一定还有优化空间,不过我目前的所学知识只能如此实现


http://www.kler.cn/news/367778.html

相关文章:

  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一)
  • 破解API加密逆向接口分析,看这篇就够了
  • Redis 哨兵 问题
  • esp32学习:语音识别教程esp-skainet库的使用
  • Educational Codeforces Round 170 C New Game
  • 青少年编程与数学 02-002 Sql Server 数据库应用 15课题、备份与还原
  • WSL(Ubuntu20.04)编译和安装DPDK
  • PHP const 和 define主要区别
  • 关闭钉钉AI助理
  • 【WiFi7】 支持wifi7的手机
  • 机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用
  • 5550 取数(max)
  • Qt:窗口风格设置
  • SQL实战训练之,力扣:1532最近的三笔订单
  • Python | Leetcode Python题解之第503题下一个更大元素II
  • console.log(“res.data = “ + JSON.stringify(res.data));
  • 【WSL2】Ubuntu20.04从零开搭PX4MavrosGazebo环境并测试
  • Ubuntu 安装 npm
  • 太速科技-212-RCP-601 CPCI刀片计算机
  • Rust 问号(?)操作符简化错误处理
  • c++20协程入门分析
  • Android Audio基础——音频流重采样(十三)
  • [linux]项目部署
  • 12个有用的自定义vue hook实例
  • Java学习教程,从入门到精通,Java 输入和输出(10)
  • 校园建筑用电安全监测装置 电气火灾监测预防设备功能介绍