Kongruenssi
Tehtävät on jaoteltu värin mukaan helppoihin, perus ja vaikeisiin tehtäviin.
Tehtävä 1. Tutustutaan kongruenssiin.
- Mitä kongruenssi kuvaa matematiikan lukuteoriassa?
- a. Kahdella luvulla on sama kokonaisosa
- b. Kahdella luvulla on sama jakojäännös
- c. Kahdella luvulla on sama kerroin
- d. Kaksi kuviota ovat samanlaisia
- Ovatko symmetriset kuviot kongruentteja?
- a. Kyllä
- b. Ei
- Millä modulon arvolla viikonpäivät ovat kongruentteja?
- a. 8
- b. 7
- c. 6
- d. 30
- Perustuuko RSA-salaus kongruenssiin?
- a. Kyllä
- b. Ei
- Onko kuukausien kierto kongruentti modulo 11 kanssa?
- a. Kyllä
- b. Ei
- Millä modulon arvolla kuukausien kierto on kongruentti?
- a. 12
- b. 30
- c. 31
- d. 24
- Onko pelilaudalla kiertäminen kongruentti?
- a. Kyllä
- b. Ei
- Onko liikennevalojen toiminta kongruenttia?
- a. Kyllä
- b. Ei
- Onko päivien kierto kongruenttia lyhyellä aika välillä?
- a. Kyllä
- b. Ei
- Onko päivien kierto kongruenttia pitkällä aika välillä noin 400-600 vuotta?
- a. Kyllä
- b. Ei
- b. Kahdella luvulla on sama jakojäännös
- a. Kyllä
- b. 7
- a. Kyllä
- b. Ei
- a. 12
- a. Kyllä
- a. Kyllä
- b. Ei
- a. Kyllä
Tehtävä 2. Tutki, ovatko annetut lausekkeet totta vai eivät. Perustele vastaus.
a)
b)
c)
a) Tosi, koska lukujen 51 ja 16 erotus on jaollinen luvulla 5.
b) Tosi, koska lukujen 22 ja 13 erotus on jaollinen luvulla 3.
c) Epätosi, koska lukujen 36 ja 19 erotus ei ole jaollinen luvulla 8.
Tehtävä 3. Kirjoita tehtävänantoa vastaava kongruenssi.
a) Jakolasku jakojäännös on 5.
b) Olet pelilaudalla ruudussa 29 ja siirryt 18 ruutua eteenpäin. Yksi pelilaudan kierros on 40 ruutua.
a)
b)
Tehtävä 4. Ratkaise sanalliset tehtävät.
a) Juho ja Elli juoksevat 400m rataa ympäri. Elli on juossut 350m ja Juho 2150m. Ovatko Elli ja Juho samassa kohdassa juoksurataa?
b) Tänään on keskiviikko, mikä viikonpäivä on 74 päivän päästä?
c) Onko kello saman verran 6 tunnin ja 54 tunnin päästä?
a) Eivät ole samassa kohdassa sillä kongruenssi ei pidä paikkaansa, koska
b) 74 päivän päästä ontorstai, koska . Joten jakojäännös on 1 eli keskiviikkoon pitää lisätä yksi päivä.
c) Kyllä on, koska lukujen erotus on jaollinen 24 tunnilla.
Tehtävä 5. Etsi pienin mahdollinen luonnollinen luku
a) Joka on kongruentti luvun 29 kanssa modulo 12.
b) Joka on kongruentti luvun 451 kanssa modulo 7.
a) , joten kokonaisosa on 2
vastaus: 5
b) , joten kokonaisosa on 86
vastaus: 3
Tehtävä 6. Ratkaise annetut kohdat.
a) Etsi luvun 17 kanssa kongruentti luku modulo 12, joka on lukujen 40 ja 50 välillä.
b) Etsi luvun 5 kanssa kongruentti luku modulo 9, joka on lukujen 100 ja 110 välillä.
c) Etsi luvun 253 kanssa kongruentti luku modulo 7, joka on lukujen 3576 ja 3584 välillä
On ainakin kaksi erilaista tapaa ratkaista tehtävä:
- Lisää annettuun lukuun modulon monin kertoja, kunnes päästään vähintään annettuun alarajaan.
- Selvitetään, kuinka monta kokonaista kertaa modulo menee ylärajan ja luvun erotukseen.
a) Vastaus on 41, koska .
b) Vastaus on 104, koska .
c) Vastaus on 3 578, koska , jonka kokonaisosa on 475. Lisätään siis lukuun 253 modulo 7 yhteensä 475 kertaa eli
Tehtävä 7. Ratkaise ohjelmallisesti. Pyydä input()-funktion avulla arvot.
a) Toteuta ohjelma, joka antaa neljä (4) lukua, jotka ovat kongruentteja ennalta määritetyn toisen luvun ja modulon kanssa.
b) Toteuta ohjelma, joka etsii pienimmän luonnollisen luvun, jonka kanssa annettu luku on kongruentti.
c) Toteuta ohjelma, joka selvittää onko annettu lauseke kongruentti.

a)
Koodi:
#a≡b(mod n)
a = int(input("Anna positiivinen kokonaisluku: "))
n = int(input("Anna positiivinen kokonaisluku: "))
i=0
while i<4:
q =int(input("Anna positiivinen kokonaisluku: "))
b = a + n * q
print(b)
i=i+1
Tuloste:
30
35
40
45
Tuloste on saatu, kun a=5, n=5 ja
q=5,6,7 ja 8.

b)
Koodi:
a = int(input("Anna positiivinen kokonaisluku: "))
n= int(input("Anna positiivinen kokonaisluku: "))
jakojaannos = a % n
print(jakojaannos)
Tuloste:
6
Tuloste on saatu, kun a=13 ja n=7.

c)
Koodi:
a = int(input("Anna positiivinen kokonaisluku: "))
b = int(input("Anna positiivinen kokonaisluku: "))
n = int(input("Anna positiivinen kokonaisluku: "))
erotus = a - b
if erotus % n == 0:
print(f"Lauseke {a} ≡ {b} (mod {n}) on kongruentti.")
else:
print(f"Lauseke {a} ≡ {b} (mod {n}) ei ole kongruentti.")
Tuloste:
Lauseke 5 ≡ 6 (mod 2) ei ole kongruentti.
tai
Lauseke 24 ≡ 18 (mod 6) on kongruentti.
Kongruenssin arvot riippuvat input()-funktiolla annetuista arvoista.
