Oriental Renaissance: Innovative, educational, natural and social sciences
Research BIB / Index Copernicus
C++ DASTURLARLASH TILIDA N-XONALI PALINDROMIK SONLARNI
TOPISH
1Manshurov Sh.T., 2Jonqobilov J.T.
1TDTU Olmaliq filiali "Matematika" kafedrasi katta o'qituvchisi E-mail: manshurov_sh@mail .ru 2TDTU Olmaliq filiali "Matematika" kafedrasi assistenti E-mail: j onqobiloj axongir@mail .ru
ANNOTATSIYA
C++ dasturlash tilida n-xonali palindromik sonlarni topishni ilmiy yondashuvini o'rganishga va dasturlash ustozlari va talabalar uchun qulaylik yaratishga yo'l qo'yadi. Maqola, palindromik sonning tushunchasini, aniqlash algoritmlarini, ularni topishning algoritmini, dasturlash bosqichlarini, amaliy misollarni, muhim dastur qismlarini va C++ dasturlash tiliyordamida bu dasturlarni yaratishning asosiy qadamlarini ta'kidlaydi. Maqolada, konseptual tushunchalar, algoritmikyondashuvlar va dasturiy tahlillar tarkibiy ko'rinishda keltiriladi. Ushbu maqola, C++ dasturlash tillarini o'rganuvchilar va dasturlash ustozlari uchun foydali bo'ladi.
Kalit so'zlar: palindromik sonlar, n-xonali sonlar, algoritmlar, teskari sonlar, palindromlarni topish, matematik hisoblash, teskari tartibda sonlar, kiritish va chiqarish operatsiyalari
АННОТАЦИЯ
Язык программирования C++ позволяет освоить научный подход к поиску n-значных палиндромных чисел и упрощает программирование для учителей и учащихся. В статье освещены понятие палиндромных чисел, алгоритмы их определения, алгоритмы их нахождения, этапы программирования, практические примеры, важные части программ и основные этапы создания этих программ с использованием языка программирования C++. В статье концептуальные концепции, алгоритмические подходы и анализ программного обеспечения представлены в структурной форме. Эта статья будет полезна изучающим язык программирования C++ и преподавателям программирования.
Ключевые слова: палиндромные числа, n-значные числа, алгоритмы, обратные числа, нахождение палиндромов, математические вычисления, числа в обратном порядке, операции ввода и вывода.
ABSTRACT
The C++ programming language allows learning the scientific approach to finding n-digit palindromic numbers and making programming easier for teachers and students. The article highlights the concept of palindromic numbers, algorithms for their determination, algorithms for finding them, programming steps, practical examples, important program parts, and basic steps for creating these programs
Research BIB / Index Copernicus
using the C++ programming language. In the article, conceptual concepts, algorithmic approaches and software analysis are presented in a structural form. This article will be useful for C++ programming language learners and programming teachers.
Keywords: palindromic numbers, n-digit numbers, algorithms, inverse numbers, finding palindromes, mathematical calculation, numbers in reverse order, input and output operations.
C++ dasturlash tilida n-xonali palindromik sonlarni topish mavzusida, palindromik sonning tushunchasi va uni aniqlash uchun kerakli algoritmlar tushunilgan. Palindromik son, boshidan va oxiridan o'qishda bir xil bo'lgan sonlardir. Misol uchun, 121, 1331, 12321 kabi sonlar palindromik sonlarga misoldir.
Maqolada, palindromik sonni aniqlash uchun dastlabki algoritm ko'rsatilgan. countPalindromes funksiyasi yordamida berilgan sonning miqdori topiladi. Bu funksiya xonali sonlarni yarating va ularni tekshirib, palindromik sonlarni sanash uchun ishlatiladi.
C++ dasturlash tilida kod yozilgan. iostream va cmath kutubxonalari foydalanilgan, pow funksiyasi esa 10 ning darajasini hisoblash uchun ishlatilgan.
Bularning yanada tavsiflangan maqolalarda, palindromik sonlarni topish algoritmida qo'llanilgan yana bir nechta usullar, boshqa dasturlash tilida muqobil algoritmik yondashuvlar, amaliy misollar, kodni optimallashtirish yoki boshqa imkoniyatlar keltirilishi mumkin.
C++ dasturlash tilida n-xonali palindromik sonlarni toppish dasturi
Ushbu misollarda n-xonali palindromik sonlarni topish uchun C++ dasturlari keltirilgan. Har bir misolda palindromik sonlarni topishning turli usullari ko'rsatilgan.
Palindromik sonlar teskari o'qilganda ham bir xil bo'lgan sonlardir. Masalan, 121, 1331 va 12321 palindromik sonlar.
Misol 1. Bu misolda n-xonali palindromik sonlar sonini aniqlash uchun matematik formuladan foydalanilgan:
#include <iostream> #include <cmath>
using namespace std;
int countPalindromes(int n) {
KIRISH
if (n == 1) return 9;
Research BIB / Index Copernicus
return pow(10, n / 2) - pow(10, (n - 1) / 2);
}
int main() { int n;
cout << "n-ni kiriting: "; cin >> n;
cout << n << "-xonali palindromik sonlar soni: " << countPalindromes(n) << endl;
• n ning 1 ga teng bo'lgan holati uchun, palindromik sonlar soni 9 ga teng bo'ladi (1 dan 9 gacha bo'lgan barcha raqamlar palindromikdir).
• n 2 yoki undan katta bo'lganda, formuladan foydalanib, n-xonali palindromik sonlar soni hisoblanadi. Bu formula simmetrik va sonlar o'rtasida teng bo'lganligini hisobga olib ishlaydi.
Misol 2. Bu misolda barcha n-xonali sonlarni ko'rib chiqish va har birining palindromik ekanligini tekshirish orqali palindromik sonlar soni aniqlanadi.
#include <iostream> #include <cmath>
using namespace std;
int countPalindromes(int n)
return 0;
}
Izoh:
{
if (n == 1) return 9;
int count = 0;
for (int num = pow(10, r - 1); num < pow(10, ); num++) {
int temp = num, reverse = 0;
while (temp)
{
reverse = reverse * 10 + temp % 10; temp /= 10;
}
if (num == reverse)
Oriental Renaissance: Innovative, educational, natural and social sciences
Research BIB / Index Copernicus
count++;
}
return count;
}
int main() {
int n;
cout << "n-ni kiriting: "; cin >> n;
cout << n << "-xonali palindromik sonlar soni: " << countPalindromes(n) << endl; return 0;
}
Izoh:
• countPalindromes funksiyasi n 1 ga teng bo'lsa, 9 ni qaytaradi.
• Agar n 2 yoki undan katta bo'lsa, for sikli orqali barcha n-xonali sonlarni ko'rib chiqadi.
• Har bir sonni teskari o'girish orqali tekshiradi. Agar son va uning teskari ko'rinishi bir xil bo'lsa, bu son palindromikdir va sanagichni 1 ga oshiradi.
Misol 3. Bu n-xonali palindromik sonlarni topish uchun C++ dasturidir. Quyida dastur qadam-baqadam tushuntiriladi.
#include <iostream> #include <cmath>
using namespace std;
int countPalindromes(int n)
{
if (n == 1) return 9;
int count = 0;
for (int num = pow(10, n - 1); num < pow(10, ); num++) {
int temp = num, reverse = 0;
while (temp) {
reverse = reverse * 10 + temp % 10;
Oriental Renaissance: Innovative, educational, natural and social sciences
Research BIB / Index Copernicus
temp /= 10;
}
if (num == reverse) count++;
}
return count;
}
int main() {
int n;
cout << "n-ni kiriting: "; cin >> n;
cout << n << "-xonali palindromik sonlar soni: " << countPalindromes(n) << endl; return 0;
Natijada:
n-ni kiriting: 6
6-xonaLi palindromik sonlar soni: 909
}
XULOSA
C++ dasturi n-xonali palindromik sonlarni aniqlash va ularni sanash uchun sodda va intuitiv usulni ko'rsatadi. Dastur foydalanuvchidan n qiymatini kiritishni so'raydi va ushbu n qiymatiga asoslangan barcha palindromik sonlarni hisoblab, ularning umumiy sonini chiqaradi.
Afzalliklari: Kod oddiy, tushunarli va har bir qadamning mantiqi aniq.
Kamchiliklari: Katta n qiymatlari uchun samaradorlikni oshirish uchun optimizatsiyalar talab qilinishi mumkin.
Umuman olganda, bu dastur n-xonali palindromik sonlarni aniqlash uchun oddiy va samarali yechim beradi. Kichik va o'rta hajmdagi n qiymatlari uchun juda mos keladi, lekin katta n qiymatlari uchun samaradorlikni oshirish uchun qo'shimcha optimizatsiyalar talab qilinishi mumkin.
ADABIYOTLAR (REFERENCES)
1. С.П. Кузнецов. Основы программирования на С++. Москва: Ленанд, 2017.
2. Х.Дейтел, П.Дейтел. Как программировать на С++. Москва: Питер, 2017.
3. Гудрич, Майкл Т., Роберт Лафорте и Дэвид Маунт. "Структуры данных и алгоритмы на Python". Нью-Йорк: Джон Уайли и Сыновья, 2013.
Research BIB / Index Copernicus
4. Маншуров Ш.Т. Программирование на c++ для изучения ВАХ и примесного состава при пятикратной переплавке металлургического кремния на солнечной печи. Oriental Renaissance: Innovative, educational, natural and social sciences, (2), Feb., 2023, 517-529.
5. Маншуров Ш.Т., Утабов У., Абдуганиева Ю. Ш. Отработка данный температуры на с++ и сохранит в файле. Oriental Renaissance: Innovative, educational, natural and social sciences, 3(2), Feb., 2023, 730-740.