Ừ chỉ cho "em" cách nè:
"Em" ra box mẹ của topic của "em"
Ngay dưới topic của "em" có 1 có nội dung cốt lõi
Rồi sau đó kiếm thêm trong congdongcviet có 1 đống bài làm luôn cái N số này, và tìm đi
Vào xem coi có gì hot ?
Anh chị có thể cho em biết cách tìm ước chung lớn nhất và bội chung nhỏ nhất của N số được không ạ!
Em Cảm ơn :!
Ừ chỉ cho "em" cách nè:
"Em" ra box mẹ của topic của "em"
Ngay dưới topic của "em" có 1 có nội dung cốt lõi
Rồi sau đó kiếm thêm trong congdongcviet có 1 đống bài làm luôn cái N số này, và tìm đi
Vào xem coi có gì hot ?
Đã được chỉnh sửa lần cuối bởi clchicken : 29-02-2012 lúc 09:52 PM.
Um Mani Padme Hum...!!
Bạn chỉ cần viết hàm tìm UCLN của 2 số nguyên a,b : UCLN(a,b), đặt u= N1. rồi duyệt từ N2 tới Nn, mỗi lần duyệt chỉ việc gán u=UCLN(u,Ni) (i chạy từ 1->n)
BCNN cũng tương tự vậy bạn à.
(Họ Pro rồi nên lên tí giọng, bạn đừng uất ức làm gì, luyện lên level rồi ta lại lên giọng với người khác)
...Nguyễn Xuân Giềng...
Cái này làm thủ công nhưng mà code dễ hiểu. UCLN không lớn hơn min của mảng và = 1 khi các phần tử của mảng đôi một nguyên tố cùng nhau. Còn, BCNN không nhỏ hơn max của mảng và lớn tối đa = tích các phần tử của mảng nếu chúng đôi một nguyên tố cùng nhau
C++ Code:
int getMin(int a[], int n) { int min = a[0]; while(--n) if(min > a[n]){ min=a[n]}; return min; } int getMax(int a[], int n) { int max = a[0]; while(--n) if(max < a[n]){ max=a[n]}; return max; } bool chiaHet(int a[], int n, int value) { while(n--) if(a[n]%value) return false; return true; } bool chiaHet2(int a[], int n, int value) { while(n--) if(value%a[n]) return false; return true; } int UCLN(int a[], int n) { //tìm min của mảng a int usc = getMin(a,n); do { //nếu a[] chia hết usc trả về true, ngược lại trả về false. if(chiaHet(a,n,usc)) break; }while(usc--); return usc; } int BCNN(int a[], int n) { //tìm max của mảng a int bsc = getMax(a,n); do { //nếu bsc chia hết a[] trả về true, ngược lại trả về false. if(chiaHet2(a,n,bsc)) break; }while(bsc++); return bsc; }
Đã được chỉnh sửa lần cuối bởi conrongchautien : 01-03-2012 lúc 06:24 PM.
YH : lobuocphuudu_218
Phone : 0126 463 5095
PHP Code:int UCLN(int a,int b)
{
while(a!=b)
if(a>b)
a-=b;
else b-=a;
return a;
}
int BCNN(int a,int b)
{
return a*b/UCLN(a,b);
}
@nndung179: Sao lại return (a+b)?
return a; là đúng rồi
skype: hvphu2010
Yahoo: hvphu2010
Sdt: 0129 609 4567