Bài 2: Số Hamming

Các số Hamming lần đầu tiên được đưa ra trong một bài tập của Richard W. Hamming, người đã phát minh ra các mã Hamming. Theo định nghĩa một số Hamming là một số nguyên dương có thể phân tích thành tích của một số các thừa số được chọn ngẫu nhiên nào đó. Chẳng hạn nếu tập các thừa số là {2, 3, 5} thì 90 = 2*3*3*5 là một số Hamming nhưng 70 = 2*5*7 lại không phải là một số Hamming vì nó còn chia hết cho 7 (không nằm trong tập các thừa số). Số 1 luôn được xem là một số Hamming cho dù các thừa số được chọn như thế nào đi chăng nữa.
Hãy viết chương trình xác định số Hamming thứ n với một tập các thừa số cho trước.
Input
Dòng đầu của file input là một tập các thừa số ngăn cách với nhau bằng 1 dấu cách, số các thừa số không vượt quá 50, một thừa số có giá trị lớn hơn 1 và nhỏ hơn 300. Dòng thứ hai là số N (1 ≤ N ≤ 100000).
Output
Đưa ra kết quả là số Hamming thứ N.
Ví dụ
Input 1:
2 3 5
15
Output 1:
24
Input 2:
2 2 2 4 4 4 8 8 8
11
Output 2:
1024
Input 3:
7 9 14 6
52
Output 3:
4802

One Response to “Bài 2: Số Hamming”

  1. lionheart Says:

    Ôi, bài này khó quá, số hamming thứ n??em không hiểu, nó làm gì có thứ tự ạ.
    thầy có thể gợi ý cho bọn em không.hì.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: