#1014 · Ước số chung lớn thứ K – KCD

MÔ TẢ BÀI TOÁN

Cho hai số nguyên dương MN. Tìm ước số chung lớn thứ k của MN. Dữ liệu bảo đảm luôn luôn có đáp án.

Dữ liệu vào

Một dòng chứa ba số M, N, k phân cách với nhau bởi dấu cách.

Dữ liệu ra

Một dòng duy nhất chứa kết quả tìm được.

Ràng buộc

BẢNG TỔNG QUAN KẾT QUẢ

# Tài khoản Kết suất Lúc nộp
1
T
Trình Minh Trí @2180608752
0 ms 188 KB
222 Bytes
02/01/2023
10:23
2
H
Võ Thanh Hà @2280600789
0 ms 188 KB
272 Bytes
07/02/2023
21:18
3
H
Võ Thanh Hà @2280600789
0 ms 192 KB
272 Bytes
07/02/2023
21:18
4
K
0 ms 192 KB
294 Bytes
09/04/2023
17:53
5
V
0 ms 192 KB
434 Bytes
14/01/2023
18:17
6
0 ms 192 KB
670 Bytes
12/02/2023
14:28
7
0 ms 196 KB
312 Bytes
10/02/2023
16:36
8
0 ms 196 KB
400 Bytes
02/01/2023
11:33
9
M
Lê Quang Minh @2280601934
0 ms 196 KB
556 Bytes
11/02/2023
10:07
10
0 ms 196 KB
670 Bytes
12/02/2023
14:40
11
0 ms 200 KB
767 Bytes
27/09/2023
12:31
12
0 ms 200 KB
820 Bytes
03/03/2023
22:48
13
A
Nguyễn Bá An @25820200110
0 ms 220 KB
400 Bytes
26/11/2025
09:16
14
A
Lý Thuận An @2280618256
0 ms 224 KB
508 Bytes
12/05/2025
14:44
15
V
Phạm Quang Vinh @25820200132
0 ms 224 KB
2054 Bytes
02/12/2025
15:11
16
A
0 ms 248 KB
332 Bytes
08/03/2023
23:46
17
Q
0 ms 248 KB
385 Bytes
23/02/2023
16:08
18
0 ms 248 KB
492 Bytes
16/02/2023
23:50
19
T
0 ms 252 KB
306 Bytes
14/01/2023
16:49
20
0 ms 252 KB
446 Bytes
01/04/2023
15:20

LỊCH SỬ CÁ NHÂN

Vui lòng đăng nhập để xem lịch sử làm bài của bạn.

THẢO LUẬN BÀI TOÁN

4 tháng trước

Hướng dẫn

Cách 1: Lưu tất cả các ước chung của MN vào 1 mảng, ước chung lớn thứ k nằm ở vị trí k-1 (nếu mảng giảm dần) hoặc n-k+1 (nếu mảng tăng dần) với n là số lượng ước chung của MN

Code tham khảo cho cách 1:

#include<bits/stdc++.h>
using namespace std ;
int main(){
    int m, n, k, d ; cin >> m >> n >> k ;
    int a[100];
    int b = 0 ;
    d = max(m, n);
    for(int i = 1; i <= d; i++ )
        if(( n % i == 0 ) && ( m % i == 0 )){
            b++; a[b] = i ;
        }
    cout << a [ b - k + 1 ];
}

Cách 2: Duyệt i từ min(M,N) xuống 1, nếu i là ước chung của MN thì giảm k, đáp án là ước chung của MN khi k=0

Vào thảo luận 0 Phản hồi
H
4 tháng trước

C/C++ tại sao kết quả sai giúp minh với :((

include

using namespace std;

int main(){ int m, n; cin >> m >> n; int k = 1; for (int i = 1; i <= min(m, n); i++){ if (m % i == 0 && n % i == 0){ k = i; } } cout << "Uoc so chung lon nhat cua " << m << " va " << n << " la: " << k << endl; return 0; }

Vào thảo luận 1 Phản hồi
N
9 tháng trước

Help me

Giúp em bài này với ạ

Vào thảo luận 1 Phản hồi
Viết code