《最大公约数代码》VIP版

免费时间:第一波2024-4-2~4-3

小编只有这几种,会增加的,请见谅~

C++

//C++程序如下:
#include<cstdio>
int GCD(int a,int b)
{
    return a%b?GCD(b,a%b):b;
}
int main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    printf("%d",GCD(x,y));
    return 0;
}
 

C(递归版)

#include <stdio.h>
#include <math.h>
/*
 * 最大公约数的递归:
 * 1、若a可以整除b,则最大公约数是b
 * 2、如果1不成立,最大公约数便是b与a%b的最大公约数
 * 示例:求(140,21)
 * 140%21 = 14
 * 21%14 = 7
 * 14%7 = 0
 * 返回7
 * */
int gcd(int a,int b){
 if(a%b==0)
  return b;
 return gcd(b,a%b);
}
int main(void){
 int a=10,b=8;
 scanf("%d %d",&a,&b);
 printf("GCD: A=>%d, B=>%d (A,B)=%d\n",a,b,gcd(a,b));
 return 0;
}

PASCAL

programgcd;
var
k,a,b:integer;
functiongcd(a,b:integer):integer;
begin
ifamodb=0thenexit(b)
elsegcd:=gcd(b,amodb);
end;

begin
readln(a,b);
k:=gcd(a,b);
writeln(k);
end.

JAVA(野生的~~~)

import java.util.Scanner;
public class Six {
public static void main(String[] args) {
System.out.print("请输入a和b");
Scanner scan = new Scanner(System.in);//以空格作为分隔符
int a = scan.nextInt();
int b = scan.nextInt();
int middle1,middle2,middle3;
middle1=a;
middle2=b;
middle3=0;
for (int i=0;i<i+1;i++) {
middle3=middle1%middle2;
if(middle3==0)
break;
else{
middle1=middle2;
middle2=middle3;
}
}
System.out.println("最大公约数为:"+middle2);
}
}

Py

def gcd(n1,n2):
    """greatest common divisor function """
    if(n1%n2 == 0):
        return n2
    return gcd(n2,n1%n2)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用不同的方法来求解两个数的最大公约数。引用中的方法是列举法,即从两个数中较小的数开始,逐个列举可能的公约数,并找出最大的公约数。代码示例如下: a=int(input("please input the first number:")) b=int(input("please input the second number:")) p,q=min(a,b),max(a,b) lst=[] for i in range(1,p+1): if p%i==0 and q%i==0: lst.append(i) gcd=max(lst) print(f"{a}和{b}的最大公约数为{gcd}") 另一种方法是累乘法,即逐步找出两个数的所有公约数,再将这些公约数累乘起来得到最大公约数。引用中的代码示例如下: a=int(input("please input the first number:")) b=int(input("please input the second number:")) m,n=a,b t=1 for i in range(2,min(a,b)): while (a%i==0 and b%i==0): t*=i a/=i b/=i print(f"{m},{n}的最大公约数为:{t}") 另外,还有一种方法是更相减损术,即不断用较大数减去较小数,直到两个数相等或相差为1,此时的两个数即为最大公约数。这种方法在《九章算术》中提到。引用中的算法描述如下。 根据以上方法,你可以选择一种适合你的方式来求解Python中的最大公约数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python求最大公约数的五种常见方法](https://blog.csdn.net/m0_69265664/article/details/125708828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值