Module: (Python) Pembahagian integer dan baki


Problem

8 /18


Permutasi nombor

Theory Click to read/hide

Bahagian integer dan baki

Keperluan untuk menggunakan operasi pengiraan baki bahagian dapat dilihat apabila bekerja dengan digit nombor. 
 
Tugas
Nombor tiga digit diberikan. Paparkan semua digit nombor ini, bermula dengan unit dan dapatkan nombor baharu yang dibentuk dengan mengubah suai unit dan ratusan.

Kami sentiasa memikirkan nombor secara keseluruhan, tetapi jangan lupa bahawa nombor terdiri daripada digit. Bagaimanakah anda memilih semua digit nombor?
Sebenarnya, semuanya diselesaikan dengan mudah, jika anda ingat matematik. Dan matematik memberitahu kita bahawa sebarang nombor boleh diuraikan menjadi jumlah sebutan digit.

Contohnya: 365 = 3*100 + 6*10 + 5*1 .
Kami melihat bahawa setiap digit ialah pengganda bagi istilah bit yang sepadan. 

Kami akan menunjukkan bagaimana untuk mendapatkan setiap digit nombor ke dalam pembolehubah berasingan menggunakan contoh membahagikan dengan lajur dengan nombor 10. Kami mengambil nombor 10, kerana kita mempunyai sistem nombor perpuluhan dan, oleh itu, istilah bit 1, 10, 100, dsb.

  

Menganalisis angka itu, anda dapat melihat bahawa  e = n% 10 # operasi n % 10 - mengira digit terakhir nombor n # (iaitu, digit unit) 365 % 10 = 5 d = n // 10% 10 # operasi n // 10 - mengurangkan nombor sebanyak 10 kali, # iaitu membuang digit terakhir nombor (365 // 10 = 36), # sekarang kita boleh mengira digit puluhan, # menggunakan operasi biasa pada hasil - # hitung baki selepas membahagi dengan nombor 10, 36 % 10 = 6 s = n // 100 # untuk mendapatkan digit ratusan, cukup untuk membuang dua digit dari sebelah kanan nombor, # iaitu dua kali dibahagikan dengan 10 # (n // 10 // 10 atau sama dengan n // 100) 365 // 100 = 3
Mempunyai digit nombor yang disimpan dalam pembolehubah, kita boleh membuat sebarang nombor lain daripadanya dengan mendarab digit yang dikehendaki dengan faktor bit yang sesuai (dengan 1, 10, 100, dsb.): 
Sebagai contoh, baris di bawah akan mendapat nombor baharu daripada nombor asal n, dengan ratusan dan satu disusun semula:
1) digit unit (disimpan dalam  e)  darab dengan 100
2) digit puluhan (disimpan dalam pembolehubah d)  darab dengan 10
3) kita hanya boleh mendarabkan ratusan digit dengan 1, atau hanya mengambil nilai yang disimpan dalam pembolehubah s.
Kemudian nilai dari mata 1, 2 dan 3 hanya perlu ditambah dan kami mendapat nombor baharu: n1 = e*100 + d*10 + s;
Program lengkap akan kelihatan seperti ini: n = int(input()) e = n% 10 d = n // 10% 10 s = n // 100 cetak(e, d, s, e*100 + d*10 + s)

Problem

Input
Nombor tiga digit asli dimasukkan daripada papan kekunci.

Cetakan
Keluarkan jumlah yang dipisahkan ruang bagi digit nombor dan nombor baharu yang dibentuk dengan mengubah suai satu dan sepuluh dalam satu baris.

 

Contoh
# Input Output
1 123 6 132