Mengapa 2 mod 4 = 2?

150

Saya malu untuk mengajukan pertanyaan sederhana seperti itu. Masa hukuman saya tidak dimulai untuk dua minggu lagi jadi saya tidak bisa meminta seorang profesor, dan ketegangan itu akan membunuh saya.

Mengapa 2 mod 4 = 2?

Baru untuk ini
sumber
45
Karena 2 = 0 * 4 + 2.
p4bl0
1
Dalam x / y hasil terdiri dari bagian integer dan bagian fraksi. Jika Anda mengalikan bagian pecahan dengan pembagi, Anda mendapatkan sisanya. Dan x = Integer bagian y + Sisa (yaitu bagian Fraksi y). Dalam hal ini bagian Integer adalah 0, dan sisanya adalah 2.
mshsayem
76
senang Anda memiliki keberanian untuk mengajukan pertanyaan itu.
Membuka
yang modulo jauh jauh untuk menjadi sama dengan membagi dua nomor.
holex

Jawaban:

151

Mod hanya berarti Anda mengambil sisanya setelah melakukan pembagian. Karena 4 masuk ke 2 kali nol, Anda berakhir dengan sisa 2.

Jarsen
sumber
95

Modulo adalah sisanya, bukan divisi.

2 / 4 = 0R2
2 % 4 = 2

Tanda %sering digunakan untuk operator modulo, sebagai pengganti kata mod.

Sebab x % 4, Anda mendapatkan tabel berikut (untuk 1-10)

 x x%4
------
 1  1
 2  2
 3  3
 4  0
 5  1
 6  2
 7  3
 8  0
 9  1
10  2
Eric
sumber
18

Modulo (mod,%) adalah operator Sisa.

2%2 = 0 (2/2 = 1 remainder 0)
1%2 = 1 (1/2 = 0 remainder 1)
4%2 = 0 (4/2 = 2 remainder 0)
5%2 = 1 (5/2 = 2 remainder 1)
Dan McClain
sumber
3
Dan penjelasan "verbose": 2 = 4 · 0 + 2 ;-)
Michael Krelin - hacker
13

Jauh lebih mudah jika Anda menggunakan pisang dan sekelompok orang.

Katakanlah Anda memiliki 1 pisang dan kelompok 6 orang, ini Anda akan mengungkapkan: 1 mod 6/ 1 % 6/ 1 modulo 6.

Anda membutuhkan 6 pisang untuk setiap orang dalam kelompok untuk diberi makan dan bahagia.

Jadi jika Anda memiliki 1 pisang dan perlu membagikannya dengan 6 orang, tetapi Anda hanya dapat berbagi jika Anda memiliki 1 pisang untuk setiap anggota grup, yaitu 6 orang, maka Anda akan memiliki 1 pisang (sisanya, tidak dibagikan kepada siapa pun di grup), hal yang sama berlaku untuk 2 pisang. Maka Anda akan memiliki 2 pisang sebagai sisa (tidak ada yang dibagikan).

Tetapi ketika Anda mendapatkan 6 pisang, maka Anda harus bahagia, karena dengan demikian ada 1 pisang untuk setiap anggota dalam kelompok 6 orang, dan sisanya adalah 0 atau tidak ada pisang yang tersisa ketika Anda membagikan semua 6 pisang pada 6 orang.

Sekarang, untuk 7 pisang dan 6 orang dalam kelompok, Anda akan memilikinya 7 mod 6 = 1, ini karena Anda memberi 6 orang masing-masing 1 pisang, dan 1 pisang sisanya.

Untuk 12 mod 6atau 12 pisang dibagi pada 6 orang, masing-masing akan memiliki dua pisang, dan sisanya adalah 0.

pengguna3408091
sumber
8

2/4 = 0 dengan sisa 2

Joe Doyle
sumber
8

Saya juga bingung tentang hal ini, hanya beberapa menit yang lalu. Kemudian saya melakukan pembagian dengan tangan panjang pada selembar kertas dan masuk akal:

  • 4 masuk ke dalam 2 kali nol.
  • 4 kali 0 adalah 0.
  • Anda menempatkan nol di bawah angka 2 dan kurangi yang meninggalkan angka 2.

Sejauh itulah komputer akan mengatasi masalah ini. Komputer berhenti di sana dan mengembalikan 2, yang masuk akal karena itulah yang "%" (mod) minta.

Kami telah dilatih untuk memasukkan desimal dan terus melakukan itu sebabnya ini bisa berlawanan dengan intuisi pada awalnya.

skillit zimberg
sumber
7

Seseorang menghubungi saya dan meminta saya untuk menjelaskan lebih rinci jawaban saya di komentar pertanyaan. Jadi inilah yang saya balas kepada orang itu kalau-kalau itu bisa membantu orang lain:

Operasi modulo memberi Anda sisa disivion euclidian (yang hanya bekerja dengan bilangan bulat, bukan bilangan real). Jika Anda memiliki A sehingga A = B * C + D (dengan D <B), maka hasil bagi dari pembagian euclidian A oleh B adalah C, dan sisanya adalah D. Jika Anda membagi 2 dengan 4, hasil bagi adalah 0 dan sisanya 2.

Misalkan Anda memiliki objek A (yang tidak dapat Anda potong). Dan Anda ingin mendistribusikan jumlah yang sama dari benda-benda itu kepada orang B Selama Anda memiliki lebih dari objek B, Anda memberi masing-masing 1, dan ulangi. Ketika Anda memiliki kurang dari objek B yang tersisa, Anda berhenti dan menyimpan objek yang tersisa. Jumlah waktu Anda mengulangi operasi, sebut saja nomor C, adalah hasil bagi. Jumlah objek yang Anda simpan pada akhirnya, sebut saja D, adalah sisanya.

Jika Anda memiliki 2 objek dan 4 orang. Anda sudah memiliki kurang dari 4 objek. Jadi setiap orang mendapatkan 0 objek, dan Anda menyimpan 2.

Itu sebabnya 2 modulo 4 adalah 2.

p4bl0
sumber
5

Operator modulo mengevaluasi sisa dari pembagian dari dua operan integer. Berikut ini beberapa contoh:

23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3)
50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0)
9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)
Cardenas
sumber
4

mod berarti reaminder ketika dibagi dengan. Jadi 2 dibagi 4 adalah 0 dengan 2 sisanya. Oleh karena itu 2 mod 4 adalah 2.

Dave Johnston
sumber
4

Modulo adalah sisanya, dinyatakan sebagai bilangan bulat, dari ekspresi divisi matematika.

Jadi, katakanlah Anda memiliki piksel pada layar pada posisi 90 di mana layarnya 100 piksel lebar dan tambahkan 20, itu akan membungkus ke posisi 10. Mengapa ... karena 90 + 20 = 110 maka 110% 100 = 10.

Bagi saya untuk memahaminya saya menganggap modulo adalah representasi bilangan bulat dari bilangan pecahan. Selanjutnya jika Anda melakukan ekspresi mundur dan memproses sisanya sebagai angka pecahan dan kemudian ditambahkan ke pembagi itu akan memberi Anda jawaban asli Anda.

Contoh:

    100
(A) ---  =  14 mod 2
     7

    123
(B) ---  =  8 mod 3
     15

     3
(C) ---  =  0 mod 3
     4

Terbalik direkayasa untuk:

                        2      14(7)    2       98    2     100
 (A) 14 mod 2  =  14 + ---  =  ----- + ---  =  --- + ---  = ---
                        7        7      7       7     7      7

                      3      8(15)    3      120    3      123
 (B) 8 mod 3  =  8 + ---  =  ----- + ---  =  --- + ---  =  ---
                      15       15     15      15    15      15

                      3       3
 (B) 0 mod 3  =  0 + ---  =  ---
                      4       4
Kris Kizlyk
sumber
2

Saat Anda membagi 2 dengan 4, Anda mendapatkan 0 dengan sisa 2 atau tersisa. Modulo hanyalah sisa setelah membagi nomor.

jocopa3
sumber
1

Saya pikir Anda semakin bingung tentang bagaimana persamaan modulo dibaca.

Ketika kita menulis persamaan pembagian seperti 2/4kita membagi 2 dengan 4.

Ketika persamaan modulo ditulis seperti 2 % 4kita membagi 2 by 4(pikirkan 2 lebih dari 4) dan kembalikan sisanya.

Kevin Bowersox
sumber
1

MOD adalah operator sisanya. Itu sebabnya 2 mod 4 memberi 2 sebagai sisanya. 4 * 0 = 0 dan kemudian 2-0 = 2. Untuk membuatnya lebih jelas, coba lakukan hal yang sama dengan 6 mod 4 atau 8 mod 3.

Aamir kamaal
sumber
1

Ini adalah Algoritma Euclid.

misalnya

a mod b = k * b + c => a mod b = c, di mana k adalah bilangan bulat dan c adalah jawabannya

4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0

27 mod 5 = 5 * 5 + 2 => 27 mod 5 = 2

jadi jawabannya adalah

2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2

Mergim Rama
sumber
1

Untuk:

2 mod 4

Kita dapat menggunakan formula kecil ini yang saya buat setelah berpikir sedikit, mungkin itu sudah didefinisikan di suatu tempat yang saya tidak tahu tetapi bekerja untuk saya, dan ini sangat berguna.

A mod B = C di mana C adalah jawabannya

K * B - A = |C| di mana K adalah berapa kali B cocok dengan A

2 mod 4 akan menjadi:

0 * 4 - 2 = |C|

C = |-2| => 2

Semoga berhasil untuk Anda :)

Daniel Sibaja
sumber
1

Operasi mod bekerja dengan pengingat.

Ini disebut aritmatika modular.

 a==b(mod m) 
 then m|(a-b)
 a-b=km 
 a=b+km
 So, 2=2+0*4
Raju
sumber
1

Untuk menjawab modulo x % y, Anda mengajukan dua pertanyaan:

A- Berapa kali ymasuk xtanpa sisa? Untuk 2% 4 itu 0.

B- Berapa banyak yang perlu Anda tambahkan untuk mendapatkan kembali itu x? Untuk mendapatkan dari 0 kembali ke 2 Anda harus 2-0, yaitu 2.

Ini dapat diringkas dalam satu pertanyaan seperti: Berapa banyak yang perlu Anda tambahkan ke hasil integer-ish pembagian xoleh y, untuk kembali x?

Dengan integer-ish itu hanya berarti bilangan bulat dan bukan pecahan apa pun yang menarik.

Sisa pembagian fraksional (misalnya .283849) tidak menarik dalam modulo karena modulo hanya berurusan dengan bilangan bulat.

memenuhi syarat
sumber
0

Untuk cara visual untuk memikirkannya, gambarkan sebuah jam wajah yang, dalam contoh khusus Anda, hanya pergi ke 4 bukannya 12. Jika Anda mulai dari 4 pada jam (yang seperti mulai dari nol) dan mengitari searah jarum jam untuk 2 "jam", Anda mendarat di 2, sama seperti memutarnya searah jarum jam selama 6 "jam" juga akan mendarat pada 2 (6 mod 4 == 2 sama seperti 2 mod 4 == 2).

Segera
sumber
6
Itu sebenarnya cukup membingungkan.
Joe Phillips
@ do3boy: ide tentang tampilan jam adalah metode yang sangat sederhana dan mudah untuk menggambarkan fakta modulo. kecuali bahwa akan lebih mudah untuk menggunakan format 24 jam untuk menjelaskannya daripada mengubah jumlah posisi yang tersedia.
Atmocreations
0

Ini bisa menjadi saat yang tepat untuk menyebutkan fungsi modr (). Ia mengembalikan bagian keseluruhan dan sisanya dari divisi.

print("\n 17 // 3 =",17//3," # Does the same thing as int(17/3)")
print(" 17 %  3 =",17%3," # Modulo division gives the remainder.")
whole, remain = divmod(17,3)
print(" divmod(17,3) returns ->",divmod(17,3),end="")
print(" because 3 goes into 17,",whole,"times with a remainder of",remain,end=".\n\n")
pengguna10637953
sumber