WHILE(1-30) - Oʻzbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi

|
Oʻzbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi
|
bet | 10/10 | Sana | 04.12.2023 | Hajmi | 0,71 Mb. | | #110600 |
WHILE(1-30)
A va B musbat raqamlari berilgan (A > B). A uzunlikdagi segment B uzunlikdagi segmentlarning maksimal mumkin bo'lgan sonini o'z ichiga oladi (bir-biriga yopishmasdan). Ko'paytirish va bo'lish amallaridan foydalanmasdan, A segmentining band bo'lmagan qismi uzunligini toping.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int a, b;
cout<<"A:";
cin>>a;
cout<<"B:";
cin>>b;
int temp = a;
while (temp >= 0) {
temp -= b;
}
cout<< temp + b;
}
A va B musbat raqamlari berilgan (A > B). A uzunlikdagi segment B uzunlikdagi segmentlarning maksimal mumkin bo'lgan sonini o'z ichiga oladi (bir-biriga yopishmasdan). Ko'paytirish va bo'lish amallarini ishlatmasdan, A segmentiga joylashtirilgan B segmentlari sonini topin.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int a, b;
cout<<"A:";
cin>>a;
cout<<"B:";
cin>>b;
int temp = a;
int num = 0;
while (temp - b >= 0) {
temp -= b;
++num;
}
cout<< num;
}
Berilgan musbat butun sonlar N va K. Faqat qo‘shish va ayirish amallaridan foydalanib, N ning K ga integral bo‘linish qismi, shuningdek, ushbu bo‘linishning qolgan qismini toping.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n, k;
cout<<"N:";
cin>>n;
cout<<"K:";
cin>>k;
int num = 0;
while (n >= k) {
n -= k;
++num;
}
cout<< num;
cout< return 0;
}
N (> 0) butun soni berilgan. Agar u 3 ga teng bo'lsa, u holda "True" ni, bo'lmasa, "False" ni chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int a;
cout<<"A:";
cin>>a;
while (a > 0) a -= 3;
if (a == 0)
cout << "True";
else
cout << "False";
return 0;
}
N (> 0) butun soni 2 ning qandaydir darajasi berilgan: N = 2^K. Bu darajaning ko'rsatkichi K - butun sonni toping.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n;
cout<<"N:";
int k = 0;
while (n >= 2) {
++k;
n /= 2;
}
cout<< k;
}
N (> 0) butun soni berilgan. Ikki faktorial N:N toping! = N*(N-2)*(N-4)*… (agar N juft boʻlsa oxirgi omil 2 ga, N toq boʻlsa 1 ga teng). Butun sonlar to'lib ketishining oldini olish uchun ushbu mahsulotni haqiqiy o'zgaruvchidan foydalanib baholang va uni haqiqiy son sifatida chiqaring
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n;
cout<<"N:";
cin>>n;
float rez = 1;
while (n >= 2) {
rez *= n;
n -= 2;
}
cout<< rez;
return 0;
}
7. N (> 0) butun soni berilgan. Kvadrati N dan katta bo‘lgan eng kichik musbat K sonini toping: K 2 > N. Kvadrat ildiz funksiyasidan foydalanmang
#include
#include
using namespace std;
int main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int N;
int K=1;
cout << "Введите целое число N (>0): ";
cin >> N;
while (K*K <= N) {
++K;
}
cout << "Наименьшее целое положительное число K, квадрат которого превосходит N: " << K << endl;
system ("pause");
return 0;
}
8. N (> 0) butun soni berilgan. Kvadrati N dan oshmaydigan eng katta K butun sonni toping: K 2 ≤ N. Kvadrat ildiz funksiyasidan foydalanmang
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n;
cout<<"N:";
cin>>n;
int k = 1;
while (k*k <= n) ++k;
cout< return 0;
}
9. N (> 1) butun son berilgan. 3 K > N tengsizlik o‘rinli bo‘lgan eng kichik K butun sonni toping
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n;
cout<<"N:";
cin>>n;
int k = 1, temp = 3;
while (temp <= n) {
temp *= 3;
++k;
}
cout< return 0;
}
10 da. N (> 1) butun son berilgan. 3 K < N tengsizlik bajariladigan eng katta K butun sonni toping .
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n;
cout<<"N:";
cin>>n;
int k = 0, temp = 3;
while (temp < n) {
temp *= 3;
++k;
}
cout< return 0;
}
11. N (> 1) butun son berilgan. 1 + 2 + ... + K yig'indisi N dan katta yoki teng bo'lgan K butun sonlarining eng kichigini va bu yig'indining o'zini chop eting.
# include
# include
# include
using namespace std;
int main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int N;
int K= 0;
int S= 0;
cout << "Введите целое число N (>1): ";
cin >> N;
while(S <= N) {
++K;
S += K;
}
cout << "Наименьшее из целых чисел K, для которых сумма 1 + 2 + ... + K будет больше или равна N: " << "K= " << K << endl;
system ("pause");
return 0;
}
12. N (> 1) butun son berilgan. 1 + 2 + … + K yig'indisi N dan kichik yoki teng bo'lgan K butun sonlarining eng kattasini va bu yig'indining o'zini chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout<<"N:";
cin>>n;
int k = 0, temp = 0;
while (!(temp + k + 1 > n)) {
++k;
temp += k;
}
cout<< k< return 0;
}
13. A raqami berilgan (> 1). 1 + 1/2 + …+ 1/K yig'indisi A dan katta bo'lgan K butun sonlarining eng kichigini va bu yig'indining o'zini chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float a;
cout<<"A:";
cin>>a;
int k = 0;
float temp = 0;
while (temp <= a) {
++k;
temp += 1 / (float)k;
}
cout<< k< return 0;
}
14 da. A raqami berilgan (> 1). 1 + 1/2 + … + 1/K yig'indisi A dan kichik bo'lgan K butun sonlarining eng kattasini va bu yig'indining o'zini chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float a;
cout << "A:";
cin >> a;
int k = 0;
float temp = 0;
while (temp <= a) {
++k;
temp += 1 / (float)k;
}
cout << "K:" << k - 1< return 0;
}
15 da. Bankdagi dastlabki depozit 1000 rublni tashkil qiladi. Har oy depozit miqdori mavjud miqdorning P foiziga oshadi (P - haqiqiy raqam, 0 < P < 25). P berilgan, necha oy ichida depozit miqdori 1100 rubldan oshib ketishini aniqlang va topilgan oylar soni K (butun son) va yakuniy depozit hajmi S (haqiqiy raqam) chiqaring.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float p;
cout << "P:";
cin >> p;
int k = 1;
float s = 1000;
while (s <= 1100) {
++k;
s += s * p / 100;
}
cout<<"k:"< return 0;
}
16. Chang'ichi mashg'ulotlarni birinchi kuniyoq 10 km masofaga yugurishdan boshladi. Har bir keyingi kunda u yugurish uzunligini oldingi kunning kilometridan P foizga oshirdi (P haqiqiy, 0 < P < 50). P ni hisobga olgan holda, qaysi kundan keyin chang'ichining barcha kunlardagi umumiy yurishi 200 km dan oshishini aniqlang va topilgan kunlar sonini K (butun) va umumiy masofani S (haqiqiy raqam) chiqaring.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float p;
cout << "P:";
cin >> p;
int k = 1;
float d = 10, s = 10;
while (s <= 200) {
++k;
d += d * p / 100;
s += d;
}
cout<<"k:"< return 0;
}
17 da. N (> 0) butun soni berilgan. Butun songa bo'lish va bo'linishning qolgan qismini olish amallaridan foydalanib, uning barcha raqamlarini eng o'ngdan (birliklar raqami) boshlab chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
while (n > 0) {
cout<< n % 10;
n /= 10;
}
return 0;
}
18. N (> 0) butun soni berilgan. Butun songa bo‘lish va bo‘lishning qolgan qismini olish amallaridan foydalanib, son va uning raqamlari yig‘indisini toping.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
int sum = 0, num = 0;
while (n > 0) {
++num;
sum += n % 10;
n /= 10;
}
cout<<"Num:"<< num< return 0;
}
19. N (> 0) butun soni berilgan. Butun songa bo'lish va bo'linishning qolgan qismini olish amallaridan foydalanib, N sonni o'ngdan chapga o'qish orqali olingan sonni toping.
# include
# include
# include
# include
# include
using namespace std;
int main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int N;
int R = 0; // число полученное при прочтении числа N справа налево
cout << "Введите целое число N (>0): ";
cin >> N;
while (N>0) {
int M = N%10;
R = R*10+M;
N /= 10;
}
cout << "Число полученное при прочтении числа N справа налево: " << R << endl;
system ("pause");
return 0;
}
20 da. N (> 0) butun soni berilgan. Butun songa bo'lish va bo'lishning qolgan qismini olish amallaridan foydalanib, N sonida "2" raqami bor yoki yo'qligini aniqlang. Agar mavjud bo'lsa, True, bo'lmasa, False chiqaring.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
while ((n > 0) & ((n % 10) != 2)) {
n /= 10;
}
if ((n > 0) && (n % 10) == 2)
cout << "True";
else
cout<< "False";
return 0;
}
21. N (> 0) butun soni berilgan. Butun songa bo'lish va bo'lishning qolgan qismini olish amallaridan foydalanib, N sonida toq raqamlar bor yoki yo'qligini aniqlang. Agar mavjud bo'lsa, True chiqaring, bo'lmasa, False chiqaring.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
while ((n > 0) & ((n % 10) % 2 == 0)) {
n /= 10;
}
if ((n % 10) % 2 != 0)
cout << "True";
else
cout<< "False";
return 0;
}
22. N (> 1) butun son berilgan. Agar u oddiy bo'lsa, ya'ni uning 1 va o'zidan boshqa musbat bo'luvchilari bo'lmasa, u holda "True" ni, aks holda "False" ni chop eting.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
int k = 2;
while ((k < n - 1) & ((n % k) != 0)) {
++k;
}
if ((n % k) != 0)
cout << "True";
else
cout<< "False";
return 0;
} 23. A va B musbat butun sonlar berilgan. Yevklid algoritmidan foydalanib, ularning eng katta umumiy bo‘luvchisini (GCD) toping: GCD(A,B) = GCD(B, A mod B), agar B ≠ 0 bo‘lsa; GCD(A, 0) = A.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int a, b;
cout << "A:";
cin >> a;
cout << "B:";
cin >> b;
while ((a != 0) & (b != 0)) {
if (a > b) a = a % b;
else b = b % a;
}
cout<< a + b;
return 0;
}
A va B musbat butun sonlar berilgan. Yevklid algoritmidan foydalanib, ularning eng katta umumiy bo‘luvchisini (GCD) toping: GCD(A,B) = GCD(B, A mod B), agar B ≠ 0 bo‘lsa; GCD(A, 0) = A.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int a, b;
cout << "A:";
cin >> a;
cout << "B:";
cin >> b;
while ((a != 0) & (b != 0)) {
if (a > b) a = a % b;
else b = b % a;
}
cout<< a + b;
return 0;
}
25. N (> 1) butun son berilgan. N dan katta bo'lgan birinchi Fibonachchi raqamini toping. (Fibonachchi raqamlari While24 topshirig'ida aniqlanadi ).
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
int f1 = 1, f2 = 1, f = 0;
while (f < n + 1) {
f = f2 + f1;
f2 = f1;
f1 = f;
}
cout << f;
return 0;
}
26.Fibonachchi raqami bo'lgan N (> 1) butun soni berilgan: N = F_K (Fibonachchi raqamlarining ta'rifi While24 topshirig'ida berilgan ) . F K-1 va F K+1 butun sonlarini toping - oldingi va keyingi Fibonachchi raqamlari.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
int f1 = 1, f2 = 1, f = 0;
while (f < n) {
f = f2 + f1;
f2 = f1;
f1 = f;
}
cout << "F_k - 1 =" << f2 << endl << "F_k+1=" << f1 + f2;
return 0;
}
27. Fibonachchi raqami bo'lgan N (> 1) butun soni berilgan: N = F K (Fibonachchi raqamlarining ta'rifi While24 topshirig'ida berilgan ). K butun sonini toping - Fibonachchi N sonining tartib raqami.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "N:";
cin >> n;
int f1 = 1, f2 = 1, f = 0, k = 2;
while (f < n) {
++k;
f = f2 + f1;
f2 = f1;
f1 = f;
}
cout << "k:" << k;
return 0;
}
28. Haqiqiy e soni berilgan (> 0). A K haqiqiy sonlar ketma-ketligi quyidagicha aniqlanadi: A 1 = 2, A K = 2 + 1/A K-1 , K = 2, 3, …. |A K - A K-1 | sharti bo'lgan K sonlarning birinchisini toping < e, va bu raqamni, shuningdek, A K-1 va A K raqamlarini chiqaring .
#include
#include
using namespace std;
int main()
{
float e;
cout << "e:";
cin >> e;
float ak1=0,ak=2;
int k=1;
while (abs(ak-ak1)>=e) {
++k;
ak1=ak;
ak=2+1/ak1;
}
cout << "K= " << k << ", A(k-1)=" << ak1 << ", A(k)=" << ak;
return 0;
}
29. Haqiqiy e soni berilgan (> 0). A K haqiqiy sonlar ketma-ketligi quyidagicha aniqlanadi: A 1 = 1, A 2 = 2, A K = (A K-2 + 2*A K-1 )/3, K = 3, 4, …. |A K - A K-1 | sharti bo'lgan K sonlarning birinchisini toping < e, va bu raqamni, shuningdek, A K-1 va A K raqamlarini chiqaring .
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float e;
cout<<"e:";
cin>>e;
float ak1 = 1, ak = 2, ak2;
int k = 2;
while (fabs(ak - ak1) >= e) {
ak2 = ak1;
ak1 = ak;
ak = (ak2 + 2 * ak1) / 3;
++k;
}
cout << "k:" << k << endl << "A(k-1):" << ak1 << endl << "Ak:" << ak;
return 0;
}
30 da. A, B, C musbat raqamlari berilgan. A × B o'lchamdagi to'rtburchak C tomoni bilan (bir-biriga yopishmagan) maksimal mumkin bo'lgan kvadratchalar sonini o'z ichiga oladi. To'rtburchakda joylashgan kvadratlar sonini toping. Ko'paytirish va bo'lish amallarini ishlatmang.
#include
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float a, b, c;
cout<<"A:";
cin>>a;
cout << "B:";
cin >> b;
cout << "C:";
cin >> c;
int k = 0;
float temp;
while ((a - c) >= 0) {
a -= c;
temp = b;
while (temp - c >= 0) {
temp -= c;
++k;
}
}
cout<< "K:"< return 0;
|
| |