计算给定数字的HCF的逻辑是什么?
答案 0 :(得分:4)
计算最高公因数(通常称为最大公约数)的常用方法是Euclid's algorithm。
如果您想计算两个以上数字的HCF,请说 i 1 , i 2 , i 3 ,..., i n ,一种算法是:
res = gcd(i[1], i[2]) for j = 3..n do res = gcd(res, i[j]) end return res
答案 1 :(得分:2)
以下是C ++中Euclid's algorithm的实现:
unsigned int hcf(unsigned int a, unsigned int b) {
if (b == 0) {
return a;
} else {
return hcf(b, a % b);
}
}
答案 2 :(得分:1)
更快更短的GCD代码
int gcd(int a, int b) {
while(b) b ^= a ^= b ^= a %= b;
return a;
}
答案 3 :(得分:0)
这是计算两个整数的H.C.F的代码 如果您对查询有任何问题,请随时提出
import java.util.*;
class ABC{
int HCF(int a,int b){
int c;
int d;
c=a%b;
if(c==0)
return b;
else
return HCF(b,c);
}
public static void main(String[]args){
int a,b;
Scanner sc = new Scanner(System.in);
System.out.println("Enter your first number: ");
a= sc.nextInt();
System.out.println("Enter your second number: ");
b=sc.nextInt();
ABC obj= new ABC();
if(b>a)
System.out.println("Wrong Input the first number must be larger than the second one");
else
System.out.println("The H.C.F of "+a+" and "+b+" is: "+obj.HCF(a,b));
}
答案 4 :(得分:0)
通过这种方式,无论输入顺序如何,它都将起作用:
public static void main(String[] args) {
int a, b;
Scanner sc = new Scanner(System.in);
System.out.println("Enter your first number: ");
a = sc.nextInt();
System.out.println("Enter your second number: ");
b = sc.nextInt();
System.out.println("The H.C.F of " + a + " and " + b + " is: " + HCF(a,b));
}
private static int HCF(int a, int b) {
int c;
if (a > b) {
c = a % b;
if (c == 0)
return b;
else
return HCF(b, c);
} else {
c = b % a;
if (c == 0)
return a;
else
return HCF(a, c);
}
}
答案 5 :(得分:0)
LoadLibrary
这会给出答案。