

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đây là đoạn code tìm ước chung lớn nhất của 2 số lần lượt là a và b(Bằng phương pháp Euclid)
Phương pháp euclid : nếu r là phần dư của a khi chia cho b thì ƯC của a và b cũng là ƯC của b và r
- Nhập hai số nguyên dương a; b từ bàn phím được tách ra bằng split() và chuyển sang kiểu số nguyên int()
- Tính phần dư của r khi a chia cho b.
+ Nếu r = 0 (a chia hết cho b) thoát khỏi vòng lặp và đưa ra kết quả
+ Nếu r khác 0 b sẽ nhận giá trị a; b nhận giá trị r và tính lại r
Code:
s=input("Nhập hai số tự nhiên") # Nhập hai số tự nhiên từ bàn phím và lưu vào chuoi S
# Tách chuỗi s thành hai chuỗi con lưu vào A
A=s.split(" ")
a=int(A[0]) # Biến đổi chuỗi con A[0] thành số a
b=int(A[1]) # Biến đổi chuỗi con A[0] thành số b
r = a % b # Lấy phần dư của a và b
while r != 0: # nếu khác 0 thì lặp lại vòng lặp
a = b # gán giá trị b cho a
b = r # gán giá trị r cho b
r = a % b # Tính lại phần dư
# Nếu r = 0 thì in ra kết quả
print("ƯCLN của a và b là: ",b)
Hãy giúp mọi người biết câu trả lời này thế nào?

py:
def USCLN_1(a, b):
if b == 0:
return a
return USCLN_1(b, a % b)
def USCLN_2(a, b):
r = a % b
while r != 0:
a = b
b = r
r = a % b
return b
a,b=map(int,input().split())
print(USCLN_1(a, b))
c++:
#include <bits/stdc++.h>
using namespace std;
long long a,b,dem=0,n;
int main()
{
cin>>a>>b;
n=__gcd(a,b);
cout <<n;
}
pascal:
var x,y,UCLN,BCNN,t:int64;
begin
readln(x,y);
BCNN:=x*y;
t:= y mod x;
While t <> 0 do
Begin
t:= x MOD y;
x:= y;
y:= t;
End;
ucln:=x;
BCNN:=BCNN div UCLN;
write(UCLN);
end.
C:
#include<stdio.h>
int ucln(int a, int b){
if(a%b==0) return b;
else
return ucln(b, a%b);}
int main(){
int a, b, max, min;
scanf("%d %d", &a, &b);
if(a>b){ max=a; min=b; }
else{ max=b; min=a; }
printf("%d", ucln(max, min));}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
0
892
0
Bạn có thể chú thích thẳng vô code k tại bọn mình phải thuyết trình ý 😿
336
3385
171
Mình mới comments vào đó
0
892
0
Cảm ơn bạn nhiều nha mãi iu😍chúc bạn luôn may mắn