2-Topshiriq do while sikli


O‘nlik yozuvida bir xil raqamlari bo‘lmagan uch xonali sonlar o‘sish tartibida chop etilsin (butin sonlarni bo'lish amalidan foydalanilmasin)



Yüklə 1,9 Mb.
səhifə7/7
tarix21.12.2023
ölçüsü1,9 Mb.
#188645
1   2   3   4   5   6   7
4-amalyot

O‘nlik yozuvida bir xil raqamlari bo‘lmagan uch xonali sonlar o‘sish tartibida chop etilsin (butin sonlarni bo'lish amalidan foydalanilmasin)

#include

int main() {


// O‘nlik yozuvida bir xil raqamlari bo‘lmagan uch xonali sonlar
for (int i = 100; i <= 999; ++i) {
int birlik = i % 10;
int onlik = (i / 10) % 10;
int yuzlik = i / 100;

if (birlik != onlik && onlik != yuzlik && birlik != yuzlik) {


std::cout << i << " ";
}
}
std::cout << std::endl;
return 0;
}


  1. Natural n(0

#include

bool isMukammal(int num) {


int yigindi = 1; // 1 bu hamma sonlarning bo'luvchisi
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0) {
yigindi += i;
if (i != num / i) {
yigindi += num / i;
}
}
}
return num == yigindi;
}

int main() {


// Natural n soni
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni (0 < n < 10000): ";
std::cin >> n;

if (n > 0 && n < 10000) {


// 1 dan n gacha bo'lgan sonlar ichidan mukammallarni ajratib chiqarish
std::cout << "Mukammal sonlar: ";
for (int i = 1; i <= n; ++i) {
if (isMukammal(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
} else {
std::cout << "Noto‘g‘ri kirish. Natural n soni 0 dan katta va 10000 dan kichik bo‘lishi kerak.\n";
}
return 0;
}



  1. [2,n] (n>2) oraliqdagi barcha tub sonlar chop etilsin

#include
#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

int main() {


// Natural n soni
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni (n > 2): ";
std::cin >> n;

if (n > 2) {


// [2, n] oraliqdagi tub sonlarni chop etish
std::cout << "Tub sonlar: ";
for (int i = 2; i <= n; ++i) {
if (isTubSon(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
} else {
std::cout << "Noto‘g‘ri kirish. Natural n soni 2 dan katta bo‘lishi kerak.\n";
}

return 0;


}


  1. Berilgan natural sonning barcha tub bo'luvchilari chop etilsin

#include
#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

int main() {


// Natural n soni
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni: ";
std::cin >> n;

if (n > 0) {


// Natural sonning barcha tub bo'luvchilarini chop etish
std::cout << "Barcha tub bo'luvchilar: ";
for (int i = 1; i <= n; ++i) {
if (n % i == 0 && isTubSon(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
} else {
std::cout << "Noto‘g‘ri kirish. Natural n soni 0 dan katta bo‘lishi kerak.\n";
}

return 0;


}



  1. To’rt xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlarni chop qilish

#include

int main() {


// To’rt xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlar
std::cout << "To’rt xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlar: ";
for (int i = 1000; i <= 9999; ++i) {
int birlik = i % 10;
int onlik = (i / 10) % 10;
int yuzlik = (i / 100) % 10;
int minglik = i / 1000;
int kubYigindi = birlik * birlik * birlik + onlik * onlik * onlik + yuzlik * yuzlik * yuzlik + minglik * minglik * minglik;
if (kubYigindi == i) {
std::cout << i << " ";
}
}
std::cout << std::endl;
return 0;
}


  1. Berilgan, 7 so‘mdan katta bo`lgan har qanday tiyinsiz pul miqdorini 3 va 5 so‘mliklar yig‘indisi bilan qaytimsiz to‘lash mumkinligi isbotlansin, ya’ni berilgan n>7 uchun 3a+5b = n shartni qanoatlantiruvchi musbat butin a va b sonlar juftliklari topilsin

#include

int main() {


// 7 so‘mdan katta bo'lgan har qanday tiyinsiz pul miqdori
int n;

// Foydalanuvchidan n ni olish


std::cout << "Pul miqdori (n > 7): ";
std::cin >> n;
if (n > 7) {
// 3a + 5b = n shartni qanoatlantiruvchi musbat butun a va b sonlarni topish
int a, b;
// 3a + 5b = n tenglamasini yechish
for (a = 1; a <= n; ++a) {
if ((n - 3 * a) % 5 == 0) {
b = (n - 3 * a) / 5;
break;
}
}
// Natijani ekranga chiqarish
std::cout << "Musbat butun a va b sonlari: a = " << a << ", b = " << b << std::endl;
} else {
std::cout << "Noto‘g‘ri kirish. Pul miqdori 7 dan katta bo‘lishi kerak.\n";
}
return 0;
}


  1. Hadlar soni ikkitadan kam bo‘lmagan nol bilan tugaydigan natural sonlar ketma-ketligi berilgan. Tartib nomerlari tub son bo‘lgan hadlarining yig'indisi aniqlansin.

#include
#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

int main() {


// Natural sonlar ketma-ketligi
int ketmaKetlik;

// Foydalanuvchidan ketma-ketlikni olish


std::cout << "Natural sonlar ketma-ketligi: ";
std::cin >> ketmaKetlik;

int yigindi = 0;


int tartibNomeri = 1;

// Tartib nomerlari tub son bo'lgan hadlarining yig'indisini topish


for (int i = 0; i < ketmaKetlik; ++i) {
int hadlarSon;
std::cout << "Hadlar son #" << i + 1 << ": ";
std::cin >> hadlarSon;

if (isTubSon(hadlarSon)) {


yigindi += tartibNomeri;
}
tartibNomeri++;
}
// Natijani ekranga chiqarish
std::cout << "Tub son bo'lgan hadlarining yig'indisi: " << yigindi << std::endl;
return 0;
}


  1. Bir-biridan farqli, uchtadan kam bo‘lmagan natural sonlar ketma-ketligi berilgan bo‘lib, u 0 bilan tugallanadi. Shu sonlar ichidan uchta eng kattasi topilsin

#include
#include

int main() {


// Natural sonlar ketma-ketligi
int ketmaKetlik;

// Foydalanuvchidan ketma-ketlikni olish


std::cout << "Natural sonlar ketma-ketligi: ";
std::cin >> ketmaKetlik;

int engKatta1 = std::numeric_limits::min();


int engKatta2 = std::numeric_limits::min();
int engKatta3 = std::numeric_limits::min();

// Uchta eng katta sonni topish


for (int i = 0; i < ketmaKetlik; ++i) {
int son;
std::cout << "Natural son #" << i + 1 << ": ";
std::cin >> son;

if (son > engKatta1) {


engKatta3 = engKatta2;
engKatta2 = engKatta1;
engKatta1 = son;
} else if (son > engKatta2) {
engKatta3 = engKatta2;
engKatta2 = son;
} else if (son > engKatta3) {
engKatta3 = son;
}
}
// Natijani ekranga chiqarish
std::cout << "Uchta eng katta son: " << engKatta1 << ", " << engKatta2 << ", " << engKatta3 << std::endl;
return 0;
}


  1. Ikki xonali sonlar orasidan yig`indisi 115 ga teng bo`lgan sonlar juftligi chop qilinsin.

#include

int main() {


// Ikki xonali sonlar orasidan yig'indisi 115 ga teng bo'lgan sonlar juftligi
std::cout << "Ikki xonali sonlar orasidan yig'indisi 115 ga teng bo'lgan sonlar juftligi: ";

for (int i = 10; i <= 99; ++i) {


int birlik = i % 10;
int onlik = i / 10;

if (birlik + onlik == 115) {


std::cout << i << " ";
}
}

std::cout << std::endl;

return 0;
}


  1. Natural n sonining tub bo’luvchilarini chop qilish

#include
#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

int main() {


// Natural n soni
int n;

// Foydalanuvchidan n ni olish


std::cout << "Natural n soni: ";
std::cin >> n;

if (n > 0) {


// Natural n sonining tub bo'luvchilarini chop etish
std::cout << "Tub bo'luvchilar: ";
for (int i = 1; i <= n; ++i) {
if (n % i == 0 && isTubSon(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
} else {
std::cout << "Noto‘g‘ri kirish. Natural n soni 0 dan katta bo‘lishi kerak.\n";
}
return 0;
}


  1. Uch xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlarni chop qilish.

#include

int main() {


// Uch xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlar
std::cout << "Uch xonali sonlar ichida raqamlarining kublari yig’indisiga teng bo’lgan sonlar: ";

for (int i = 100; i <= 999; ++i) {


int birlik = i % 10;
int onlik = (i / 10) % 10;
int yuzlik = i / 100;

int kubYigindi = birlik * birlik * birlik + onlik * onlik * onlik + yuzlik * yuzlik * yuzlik;

if (kubYigindi == i) {
std::cout << i << " ";
}
}

std::cout << std::endl;


return 0;
}



  1. Hadlar soni ikkitadan kam bo'lmagan nol bilan tugaydigan natural sonlar ketma-ketligi berilgan. Tartib nomerlari tub sonlar bo'lgan hadlar yig'indisi hisoblansin.

#include


#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

int main() {


// Natural sonlar ketma-ketligi
int ketmaKetlik;

// Foydalanuvchidan ketma-ketlikni olish


std::cout << "Natural sonlar ketma-ketligi: ";
std::cin >> ketmaKetlik;

int yigindi = 0;


int tartibNomeri = 1;

// Tartib nomerlari tub son bo'lgan hadlarining yig'indisini topish


for (int i = 0; i < ketmaKetlik; ++i) {
int hadlarSon;
std::cout << "Hadlar son #" << i + 1 << ": ";
std::cin >> hadlarSon;

if (isTubSon(hadlarSon)) {


yigindi += tartibNomeri;
}

tartibNomeri++;


}

// Natijani ekranga chiqarish


std::cout << "Tub son bo'lgan hadlarining yig'indisi: " << yigindi << std::endl;

return 0;


}


  1. Uch xonali polindrom sonlar ichidan tublari chop qilinsin.

#include


#include

bool isTubSon(int num) {


if (num < 2) {
return false;
}

for (int i = 2; i <= sqrt(num); ++i) {


if (num % i == 0) {
return false; // Tub son emas
}
}

return true; // Tub son


}

bool isPolindrom(int num) {


int originalNum = num;
int reversedNum = 0;

while (num > 0) {


int digit = num % 10;
reversedNum = reversedNum * 10 + digit;
num /= 10;
}

return originalNum == reversedNum;


}

int main() {


// Uch xonali polindrom sonlar ichidan tublar
std::cout << "Uch xonali polindrom sonlar ichidan tublar: ";

for (int i = 100; i <= 999; ++i) {


if (isPolindrom(i) && isTubSon(i)) {
std::cout << i << " ";
}
}

std::cout << std::endl;

return 0;
}


  1. Natural n va p sonlari berilgan 1 dan n gacha sonlar orasida EKUBi p bo`lgan nechta juftlik borligi aniqlansin

#include

int ekub(int a, int b) {


while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}

int main() {


// Natural n va p sonlari
int n, p;

// Foydalanuvchidan n va p ni olish


std::cout << "Natural son n: ";
std::cin >> n;
std::cout << "Son p: ";
std::cin >> p;

int juftliklarSoni = 0;



// 1 dan n gacha sonlar orasida EKUBi p bo'lgan juftliklar sonini aniqlash
for (int i = 1; i <= n; ++i) {
if (ekub(i, p) == p) {
juftliklarSoni++;
}
}
// Natijani ekranga chiqarish
std::cout << "1 dan " << n << " gacha sonlar orasida EKUBi " << p << " bo'lgan juftliklar soni: " << juftliklarSoni << std::endl;
return 0;
}



Yüklə 1,9 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin