Viết chương trình lấy hai số nguyên làm đầu vào; số thứ nhất có thể là bất kỳ số nguyên nào và số thứ hai nhỏ hơn hoặc bằng số chữ số trong số thứ nhất. Hãy để những con số này a
và b
tương ứng.
Chương trình sẽ làm như sau
- Ghép một số
1
s tối thiểu đến hếta
nên số chữ số tronga
chia hết chob
. - Chia
a
theo mọib
chữ số. - Nhân các chữ số trong mỗi phần với nhau.
- Ghép các sản phẩm lại với nhau (nếu một trong các số bằng 0 thì ghép nối
0
). - Lặp lại quy trình này cho đến khi một số có ít hơn
b
chữ số được hình thành. In này là đầu ra, cũng như số lượng của quá trình được lặp lại. Các đơn vị không cần thiết, nhưng một số hình thức phân tách giữa số lần lặp cuối và số lần lặp là.
Trong các trường hợp thử nghiệm sau đây, các bước riêng lẻ được hiển thị cho mục đích hiểu. Chương trình của bạn không cần thiết để hiển thị các bước.
Trường hợp kiểm tra 1
1883915502469, 3
Các bước
1883915502469 //Iteration 1
188391550246911
188 391 550 246 911
64 27 0 48 9
64270489 //Iteration 2
642704891
642 704 891
48 0 72
48072 //Iteration 3
480721
480 721
0 14
014 //Iteration 4
0
Đầu ra mẫu :0, 4
Trường hợp thử nghiệm 2
792624998126442, 4
Các bước
792624998126442 //Iteration 1
7926249981264421
7926 2499 8126 4421
756 648 96 32
7566489632 //Iteration 2
756648963211
7566 4896 3211
1260 1728 6
126017286 //Iteration 3
126017286111
1260 1728 6111
0 112 6
01126 //Iteration 4
01126111
0112 6111
0 6
06
Đầu ra mẫu :06, 4
Chương trình phải trả về một lỗi (hoặc chỉ không in bất cứ điều gì) nếu b>len(a)
. Ngoài ra, b
không thể bằng 1 hoặc chương trình sẽ dẫn đến một vòng lặp vô hạn.
Đây là mã golf, vì vậy các quy tắc tiêu chuẩn được áp dụng. Mã ngắn nhất trong byte thắng.
a
và cũng được bao gồm trong đầu ra?