answer
93
Đây là một giải pháp đệ quy.
var gcd = function[a, b] {
if [!b] {
return a;
}
return gcd[b, a % b];
}
Trường hợp cơ sở của chúng tôi là khi b
bằng 0
. Trong trường hợp này, chúng tôi quay trở lại a
.
Khi chúng ta đệ quy, chúng ta hoán đổi các đối số đầu vào nhưng chúng ta chuyển
phần còn lại của a / b
làm đối số thứ hai.
93 hữu ích 5 bình luận chia sẻ
answer
28
Lấy từ Wikipedia.
Đệ quy:
function gcd_rec[a, b] {
if [b] {
return gcd_rec[b, a % b];
} else {
return Math.abs[a];
}
}
Lặp lại:
function gcd[a,b] {
a = Math.abs[a];
b = Math.abs[b];
if [b > a] {var temp = a; a = b; b = temp;}
while [true] {
if [b == 0] return a;
a %= b;
if [a == 0] return b;
b %= a;
}
}
- CHỈNH SỬA cho mỗi nhận xét của người dùng
28 hữu ích 1 bình luận chia sẻ
answer
13
function egcd[a, b] {
if [a == 0]
return b;
while [b != 0] {
if [a > b]
a = a - b;
else
b = b - a;
}
return a;
}
13 hữu ích 0 bình luận chia sẻ
Đăng nhập để trả lời câu hỏi
Có thể bạn quan tâm
Tôi muốn tìm ước số chung lớn nhất bằng JavaScript.
Bất cứ ai đã làm điều đó trước đây và sẵn sàng chia sẻ?
Đây là một giải pháp đệ quy.
var gcd = function[a, b] {
if [ ! b] {
return a;
}
return gcd[b, a % b];
};
Trường hợp cơ sở của chúng tôi là khi b
bằng 0
. Trong trường hợp này, chúng tôi trả về a
.
Khi chúng tôi đệ quy, chúng tôi trao đổi các đối số đầu vào nhưng chúng tôi vượt qua phần còn lại của a / b
là đối số thứ hai.
Lấy từ Wikipedia.
Đệ quy:
function gcd_rec[a, b] {
if [b] {
return gcd_rec[b, a % b];
} else {
return Math.abs[a];
}
}
Lặp lại:
function gcd[a,b] {
a = Math.abs[a];
b = Math.abs[b];
if [b > a] {var temp = a; a = b; b = temp;}
while [true] {
if [b == 0] return a;
a %= b;
if [a == 0] return b;
b %= a;
}
}
- EDITed mỗi bình luận của người dùng
function egcd[a, b] {
if [a == 0]
return b;
while [b != 0] {
if [a > b]
a = a - b;
else
b = b - a;
}
return a;
}
Home » HTML/CSS »
JavaScript » Thiết kế Website » JavaScript: Tìm UCLN,
BCNN của 2 số a, b [nguyên, nhập từ bàn phím] - Thứ Hai, 4 tháng 11, 2013
UCLN JavaScript: Tìm UCLN, BCNN của 2 số a, b [nguyên, nhập từ bàn phím]
var a,b;
function UCLN[x,y]{
while[x!=y] {
if[x>y] x=x-y;
else y=y-x;
}
return x;
}
a=prompt["Nhap gia tri a:"];
b=prompt["Nhap gia tri b:"];
document.write["Uoc chung lon nhat: " + UCLN[a,b]]
document.write["Boi chung nho nhat: " + a*b/UCLN[a,b]]
Tags: Lập trình, JavaScript, BCNN, UCLN
Title: JavaScript: Tìm UCLN, BCNN của 2 số a, b [nguyên, nhập từ bàn phím]
Post by newbie
Publication: 2013-11-04T23:15:00-08:00
Ranked: 5 | Maximum rating: 5 UCLN var a,b;...