Module: BAHAGIAN INTEGER DAN KEKAL


Problem

14 /16


Digit nombor

Theory Click to read/hide

Kira digit nombor

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

Soalan paling sukar yang timbul untuk pemula ialah bagaimana memecahkan nombor kepada digit konstituennya.
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 digit nombor yang sepadan. 
Mari tunjukkan cara untuk mendapatkan setiap digit nombor menjadi pembolehubah yang berasingan. Pertimbangkan prosedur pembahagian  lajur nombor 365 dengan nombor 10  (kami mengambil nombor 10, kerana kami mempunyai sistem nombor perpuluhan dan, dengan itu, kami mempunyai sebutan digit 1, 10, 100, dsb.).
  

Selepas menganalisis angka tersebut, anda boleh 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), // kini kita boleh mengira digit puluhan dengan menggunakan operasi biasa pada hasilnya   // - hitung baki selepas pembahagian dengan nombor 10, 36% 10 = 6 s = n / 100; // untuk mendapatkan digit ratusan, cukup untuk membuang dua digit dari sebelah kanan nombor,   // iaitu bahagi dengan 10 dua kali (n / 10 /10 atau sama dengan n / 100) 365 / 100 = 3
Setelah menerima semua digit nombor itu, kita boleh membuat nombor lain daripadanya dengan mendarab digit yang dikehendaki dengan digit yang sepadan: & nbsp; sebagai contoh, baris di bawah akan mendapat nombor baharu daripada nombor asal n, dengan ratusan dan satu disusun semula:
1) bilangan unit (disimpan dalam pembolehubah e)  didarab dengan 100
2) digit puluhan (disimpan dalam pembolehubah d)  darab dengan 10; < br /> 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 mesti ditambah dan kami mendapat nombor baharu: n1 = e * 100 + d * 10 + s; Keseluruhan program akan kelihatan seperti ini:
  #includeiostream> menggunakan ruang nama std; utama() { int n, e, d, s; cin>> n; e = n % 10; d = n / 10% 10; s = n / 100; cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s); }

Problem

Tulis atur cara yang, diberi nombor tiga digit, mencetak jumlah digit nombor dan nombor baharu yang dibentuk dengan mengubah suai satu dan sepuluh.

Input 
Nombor tiga digit dimasukkan daripada papan kekunci.

Cetakan 
Dua nombor dalam satu baris dipisahkan oleh ruang: pertama, jumlah digit nombor, kemudian nombor ditukar mengikut keadaan masalah.


Contoh
# Input Output
1 365 14 356