[Wiki] hàm tìm ước chung lớn nhất của 2 số

#include<math.h>
int uCLN(int a, int b)
{
	a = abs(a); // trị tuyệt đối cho số âm
	b = abs(b);  // trị tuyệt đối cho số âm
	if (a == 0 && b != 0)
	{
		return b;
	}
	else if (a != 0 && b == 0)
	{
		return a;
	}
	while (a != b)
	{
		if (a > b)
		{
			a -= b;
		}
		else
		{
			b -= a;
		}
	}
	return a;

}
1 Like

Mình nghĩ là trong thư viện < algorithm> có __gcd là hàm tìm ước chung rồi :smile:

2 Likes

đệ qui cũng được nhưng thấy cách này dễ hiểu

Mình thấy nó có nên dùng thôi :smiley:

1 Like

trình độ gió vs mình như trăng với sao. gió đừng để ý. minh toàn tự học ko à

1 Like

làm cơ bản để hiểu thuật toán trước đã. rồi dùng thư viện sau :3 chú cứ khẩn trương thế

2 Likes

Cũng nên tự làm mà cũng nên biết cả thư viện nữa, anh thấy có nhiều lúc đi làm rồi. Cứ hay suy nghĩ làm mấy cái đã có sẵn hoài. Nếu tìm ra được cái làm sẵn rồi thì công việc sẽ trôi chảy hơn.

3 Likes

hơi khó hiểu đây :grin:

Mình hay dùng cái này:

  int gcd(int x,int y){
    	int tmp;
    	while(x!=0){
    		tmp=y%x;
    		y=x;x=tmp;
    	}
    	return y;
    }

anh cho em hỏi nếu làm game chả hạn lúc mới bát đầu thì ko nên dùng engity đúng ko ạ

Đây không phải hàm chuẩn (gcc-specific). Để biết hàm nào chuẩn thì nên xem trên cppreference.

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