1-NAMUNAVIY MASALA
Uch xonali son raqamlarini tekshirish
Masala sharti
Uch xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing: a) uning barcha raqamlari bir xilmi; b) hech bo‘lmaganda ikkita raqami bir xilmi.
Bosqichma-bosqich yechim
-
Uch xonali x sonini kiritamiz. Yuzlik raqamini butun bo‘lish orqali, o‘nlik va birlik raqamlarini esa qoldiq olish orqali ajratamiz.
A = x // 100 B = (x // 10) % 10 C = x % 10 -
Barcha raqamlar bir xil bo‘lishi uchun yuzlik, o‘nlik va birlik raqamlari o‘zaro teng bo‘lishi kerak.
A = B = C -
Hech bo‘lmaganda ikki raqam teng bo‘lishi uchun uchta juftlikdan bittasi teng bo‘lishi kifoya.
A = B yoki B = C yoki A = C
Python yechimi
Son raqamlarini ajratib, avval uchtalasi tengligini, keyin esa kamida bir juft raqam tengligini tekshiramiz.
# Uch xonali sonni kiritish
x = int(input("Uch xonali sonni kiriting: "))
# Raqamlarni ajratib olish
A = x // 100 # Yuzlik xonasi
B = (x // 10) % 10 # O'nlik xonasi
C = x % 10 # Birlik xonasi
# a) Barcha raqamlar bir xilmi?
if A == B == C:
print("Barcha raqamlar bir xil.")
else:
print("Barcha raqamlar bir xil emas.")
# b) Hech bo'lmaganda ikkita raqam bir xilmi?
if A == B or B == C or A == C:
print("Hech bo'lmaganda ikkita raqam bir xil.")
else:
print("Barcha raqamlar har xil.")
Namuna kirishi
777
Konsoldagi namuna
Uch xonali sonni kiriting: Barcha raqamlar bir xil.
Hech bo'lmaganda ikkita raqam bir xil.
C++ yechimi
Butun bo‘lish va qoldiq olish orqali raqamlarni topib, ularni shartlar yordamida taqqoslaymiz.
#include <iostream>
using namespace std;
int main() {
int x;
cout << "Uch xonali sonni kiriting: ";
cin >> x;
// Raqamlarni ajratib olish
int A = x / 100;
int B = (x / 10) % 10;
int C = x % 10;
// a) Barcha raqamlar bir xilmi?
if (A == B && B == C) {
cout << "Barcha raqamlar bir xil." << endl;
} else {
cout << "Barcha raqamlar bir xil emas." << endl;
}
// b) Hech bo'lmaganda ikkita raqam bir xilmi?
if (A == B || B == C || A == C) {
cout << "Hech bo'lmaganda ikkita raqam bir xil." << endl;
} else {
cout << "Barcha raqamlar har xil." << endl;
}
return 0;
}
Namuna kirishi
777
Konsoldagi namuna
Uch xonali sonni kiriting: Barcha raqamlar bir xil.
Hech bo'lmaganda ikkita raqam bir xil.
Yakuniy javob
Uch xonali sonning raqamlari x // 100, (x // 10) % 10 va x % 10 orqali olinadi. Uchtalasi teng bo‘lsa, barcha raqamlar bir xil; juftliklardan kamida bittasi teng bo‘lsa, kamida ikkita raqam bir xil bo‘ladi.