Tulis program yang menggunakan dua bilangan bulat sebagai input; yang pertama bisa berupa bilangan bulat apa saja dan yang kedua kurang dari atau sama dengan jumlah digit pada angka pertama. Biarkan angka-angka ini menjadi adan bmasing - masing.
Program akan melakukan hal berikut
- Gabungkan jumlah minimal
1s hingga akhirasehingga jumlah digitadapat dibagi denganb. - Membagi
asetiapbdigit. - Lipat gandakan digit di setiap bagian bersamaan.
- Gabungkan produk bersama-sama (jika salah satu angka adalah nol, maka gabungkan
0). - Ulangi proses ini sampai angka dengan angka yang benar-benar kurang dari
bangka terbentuk. Cetak ini sebagai output, serta jumlah proses diulang. Unit tidak diperlukan, tetapi beberapa bentuk pemisahan antara jumlah akhir dan jumlah iterasi adalah.
Dalam kasus uji berikut, langkah-langkah individu ditampilkan untuk tujuan pemahaman. Program Anda tidak perlu menampilkan langkah-langkahnya.
Test case 1
1883915502469, 3
Langkah
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
Output sampel :0, 4
Uji kasus 2
792624998126442, 4
Langkah
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
Output sampel :06, 4
Program harus mengembalikan kesalahan (atau tidak mencetak apa pun) jika b>len(a). Juga, btidak dapat sama dengan 1 atau program akan menghasilkan loop tak terbatas.
Ini kode golf, jadi aturan standar berlaku. Kode terpendek dalam byte menang.
adan juga termasuk dalam output?