CON SỐ VIÊN MÃN – FUNCTION
Số viên mãn: Theo nhiều quan niệm tự cố chí kim con số 9 được xem là con số hoàn hảo nhất;tượng trưng cho sự viên mãn, tròn đầy, đồng nghĩa với việc sẽ tiếp tục sinh sôi, phát triển.
Hãy viết chương trình kiểm tra con số của kết quả tổ hợp chập k của n phần tử có là con số viên mãn không bằng cách cộng tất cả các chữ số của nó xem tổng có bằng 9 hay không.
Yêu cầu:
Đầu vào: Dữ liệu được ghi trong tệp SVM.INP.
+ Dòng thứ nhất: Số 2 duy nhất là số lượng hai giá trị k và n.
+ Dòng thứ hai: Lần lượt các số k và n.
Đầu ra: Lưu chuỗi “Số viên mãn” nếu kết quả tổ hợp chập k của n phần tử là số viên mãn, ngược lại lưu chuỗi “No” vào tệp SVM.OUT.
Ví dụ:
SVM.INP | SVM.OUT | GIẢI THÍCH |
2 3 22 | No | 1540 = 1+5+4+0 = 10, khác số viên mãn. |
2 2 18 | Số viên mãn | 153 = 1+5+3 = 9, là số viên mãn. |
fi = open("SVM.INP","r") fo = open("SVM.OUT","w",encoding="utf-8") x = int(fi.readline()) k,n = map(int,fi.readline().split()) def kTra(x): return sum(map(int, str(x))) == 9 def toHop(n,k): tuso = 1 mauso = 1 for i in range(n-k+1, n+1): tuso *= i for i in range(1, k+1): mauso *= i CKN = tuso // mauso return kTra(CKN) if toHop(n,k): print("Số viên mãn",file=fo) else: print("No",file=fo) fi.close() fo.close()