Olimpiada masalalari


Konturning yo‘nalishi bo‘yicha qavariq n



Yüklə 0,83 Mb.
səhifə32/34
tarix30.03.2023
ölçüsü0,83 Mb.
#91326
1   ...   26   27   28   29   30   31   32   33   34
Olimpiada masalalari

204. Konturning yo‘nalishi bo‘yicha qavariq n-burchak berilgan, n=>3. Uni (n-3) ta diagonalli, faqatgina oxirlari kesishadigan shunday uhburchaklarga ajratingki, ular
а) uzunliklarining yig‘indisi eng kichik bo‘lsin;
b) eng uzun diagonali eng kalta uzunlikda bo‘lsin.
205. N ta sondan iborat bo‘lgan ketma-ketlikdan juda kam elementlarni shunday o‘chiringki, qolganlari qat’iy o‘sib boruvchi ketma-ketlikni hosil qilsin. Berilgan A [1..N] sonli ketma-ketlikdan juda kam elementlarni shunday o‘chiringkki, qolgan qism ketma-ketlikda keyingi element oldingisidan katta bo‘lsin, faqatgina bir juft qo‘shni elementlar (o‘sib boruvchi ketma-ketlikning bitta “uzilishi”) bundan mustasno.
Masalan: А=(1,2,3,2,4,3,4,6);
Qidirilayotgan ketma-ketlik: (1,2,3,2,3,4,6)
206. Uchta nomanfiy d, i, c sonlar va ikkita X hamda Y qatorlar kiritilgan. X qatorni Y ning eng kichik qiymatiga o‘zgarishini toping. Quyidagi uchta jarayonni faraz qilaylik:
X dan ixtiyoriy belgini o‘chirish (jarayon qiymati d);
X ga ixtiyoriy belgini qo‘yish (jarayon qiymati i);
X dagi belgini ixtiyoriysi bilan almashtirish (jarayon qiymati c).
207. Ikkita x va y qator berilgan. x qator 0 va birlardan, y qator A va B belgilardan tashkil topgan. x ni y qator bilan quyidagi qoida bo‘yicha almashtirsa bo‘ladimi: 0 raqami A harflarining bo‘shmas ketma-ketligi bilan o‘zgartiriladi va 1 raqami - yoki A harflarining bo‘shmas ketma-ketligi, yoki B harflarining bo‘shmas ketma-ketligi bilan o‘zgartiriladi?
208. Berilgan butun sonli ketma-ketlikda, shunday eng uzun sonli qism ketma-ketlikni topingki, unda har bir keyingi element oldingisiga butun bo‘linsin.
#include
using namespace std;
void main()
{
int const n = 20;
int S = 0, k, maxi, maxx, max = 0, A[] = {1,2,4,8,10,20,30,40,50,51,52,5,10,20,40,80,160,61,62};

for (int i = 1; i <= n; i++)
{
S = 0;
for (int j = i; j <= n - 1; j++)
{
if (A[j + 1] % A[j]==0)
S++;
else
{
k = j;
break;
}
}
if (S > max)
{
max = S;
maxi = i;
maxx = k;
}
}
for (int i = maxi; i <= maxx; i++)
cout << A[i] << " ";
}

Yüklə 0,83 Mb.

Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   34




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