E có đoạn code tìm ucln và bcnn, mn cho giải thích giùm e đoạn này e ko hiểu.
if(a > b) a-=b; else b-=a;
em cảm ơn ạ
import java.util.Scanner;
public class bai1 {
public static int ucln(int a, int b)
{
if(a == 0 || b == 0) return a + b;
while(a != b)
{
if(a > b) a-=b;
else b-=a;
}
return a;
}
public static int bcnn(int a, int b)
{
int ans = ucln(a,b);
return a * b / ans;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Nhap a: ");
int a = sc.nextInt();
System.out.print("Nhap b: ");
int b = sc.nextInt();
System.out.print("1.Tinh UCLN\n2.Tinh BCNN\nMoi ban nhap so: ");
int n = sc.nextInt();
switch(n)
{
case 1:
System.out.println("UCLN cua "+a+" va "+b+" la: " +ucln(a,b));
break;
case 2:
System.out.println("BCNN cua "+a+" va "+b+" la: " + bcnn(a,b));
break;
}
}
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?