Olimpiada misollarini yechish usullari II- bosqich Muallif: Mengliyev Sh. Qo`shilgan sana: 2015-04-08 Olimpiada misollarini yechish usullari II – bosqich


Download 43.84 Kb.
bet2/12
Sana24.04.2023
Hajmi43.84 Kb.
#1394008
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
олимпиада учун масалалар

Agar tub son olinsau holda 2 ni shu songa teng darajaga ko’tarish kerak, buning uchun esa, extent(2, p, m) prosedurasiga murojaat etish zarur.
Nihoyat, olingan natijaning ham, tub yoki tub emasligini tekshirish kerak. Agar tub bo’lsa, u holda biz Mersen soniga ega bo’lamiz.
Hammasi yaxshi ketayotgandek tuyular-ku, ammo bizni oldinda ko’plab muammolar kutmoqda. 
Birinchi muammo! 3 soni tanlangan, probleme_number(i, p) prosedurasi uni tub son deb belgiladi va uning qiymati po’zgaruvchiga berildi. Tanlangan oraliqdagi keyingi son 4, probleme_number(i, p) prosedurasi uni tub emasligini aniqladi va uning qiymati p o’zgaruvchiga berilmadi. U holda p ning qiymati nechaga teng degan savol tug’iladi. U o’z-o’ziga, ya’ni 3 ga - oldingi kelgan tub songa teng bo’lib qolganligi ma’lum bo’ladi.
Dasturda jarayonni davom ettiraversak, qiymatlar takrorlanib qoladi. Shunga o’xshagan takrorlanish Mersen soni deb qabul qilingan qiymatning tub yoki tub emasligini tekshirish paytida ham kuzatiladi. 
Bunday muammolarni bartaraf etish uchun, birinchidan har bir tekshirishdan so’ng, olingan tub sonlarning qiymatlarini yangi o’zgaruvchilar xotirasiga kiritish kerak, masalan: p1 := p; m1 := m; n1 := n, so’ngra esa darajani hisoblash va tub sonlarni tekshirish prosedurasiga takroran murojaat qilishdan avval, bu qiymatlar oldingilarning huddi o’zi emasligini tekshirish kerak. 
Asosiy dasturning bu qismi quyidagicha: 
for i := 2 to b do 
begin 
probleme_number(i, p); 
if p <> p1 then extent(2, p, m); 
if m <> m1 then probleme_number(m-1, n); 
if n <> n1 then write(n, ' '); 
n1 := n; p1 := p; m1 := m 
end;
Dastur
Program L82; { Mersen sonlari }
uses Crt; 
var 
b, p, p1, m, m1, n, n1, i : longint; 
Procedure Probleme_number(p : longint; var v : longint); 

Download 43.84 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling