Mengenal Soal OSN · Pelajaran 3 dari 10

Soal aritmetika dan pola

9 menit baca · BelajarCode

Soal aritmetika OSN sering memakai angka yang sangat besar, sehingga tidak mungkin dihitung langsung. Kuncinya adalah mencari pola.

Digit terakhir bilangan berpangkat

Berapa digit terakhir dari 7 pangkat 2026? Lihat digit terakhir dari pangkat-pangkat kecil:

Digit terakhir pangkat 7
PangkatNilaiDigit terakhir
7 pangkat 177
7 pangkat 2499
7 pangkat 33433
7 pangkat 424011
7 pangkat 5168077

Digit terakhir berulang setiap 4 pangkat: 7, 9, 3, 1. Karena 2026 dibagi 4 bersisa 2, digit terakhirnya sama dengan pangkat 2, yaitu 9.

Python
1print(pow(7, 2026, 10))2print([pow(7, k, 10) for k in range(1, 9)])
Keluaran
9
[7, 9, 3, 1, 7, 9, 3, 1]

pow(a, b, m) menghitung sisa bagi a pangkat b dengan m secara efisien, tanpa menghitung bilangan raksasanya.

Hari dan siklus

Hari ini Senin. Hari apa 100 hari lagi? Hari berulang setiap 7 hari, dan 100 dibagi 7 bersisa 2. Jadi sama dengan 2 hari setelah Senin, yaitu Rabu.

Python
1hari = ["Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"]2print(hari[(0 + 100) % 7])
Keluaran
Rabu

Menghitung kelipatan

Berapa banyak bilangan dari 1 sampai 1000 yang habis dibagi 3 atau 5?

  • Kelipatan 3: 1000 div 3 = 333.
  • Kelipatan 5: 1000 div 5 = 200.
  • Kelipatan 15 (habis dibagi keduanya) terhitung dua kali: 1000 div 15 = 66.

Jawabannya 333 + 200 - 66 = 467. Cara menjumlah lalu mengurangi yang terhitung ganda ini disebut prinsip inklusi eksklusi.

Python
1rumus = 1000 // 3 + 1000 // 5 - 1000 // 152langsung = sum(1 for i in range(1, 1001) if i % 3 == 0 or i % 5 == 0)3print(rumus, langsung)
Keluaran
467 467

Jumlah deret

Jumlah 1 + 2 + ... + n sama dengan n × (n + 1) / 2. Jumlah 1 sampai 100 adalah 100 × 101 / 2 = 5050. Rumus ini muncul di banyak soal, termasuk saat menghitung banyaknya perulangan bersarang.

Cek pemahaman

Berapa digit terakhir dari 2 pangkat 100?

Latihan

Dua soal siklus

  1. Hari ini Sabtu. Hari apa 1000 hari lagi?
  2. Berapa dua digit terakhir dari 3 pangkat 100?

Kerjakan dengan tangan, lalu periksa dengan Python.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Latih konsep ini

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi