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);
}