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


Procedure number(n : integer; var


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

Procedure number(n : integer; var k : integer);
begin
k := 0; 
repeat 
k := k + 1; 
n := n div 10 
until n = 0 
end;
Keyingi prosedurada qidirilayotgan raqamlar soni joylashadi. Unda,m o’zgaruvchi raqamlar sonini bir, ikki, uch, c-xonali sonlarda (9, 90, 900, ..., 9...0) ifodalashga xizmat qiladi. 
o’zgaruvchi sonda - betning nomerida mavjud raqamlar sonini ko’rsatiadi, o’zgaruvchida qidirilayotgan natija to’planib boriladisyig’indi esa bizga hisoblash uchun jami nechta n-xonali son ishlatilganini ifodalaydi.
Boshlang’ich qiymatlar: := 9; := 0; := 0, sondagi raqamlar soni esa number(n, c) prosedurasidan olinadi va c o’zgaruvchiga beriladi:
m := 9; number(n, c); z := 0; s := 0; 
Endi sikl kiritilgan betlar sonining 1 dan c-1 gacha bo’lgan raqamlar miqdori bo’yicha bo’ladi. Sikl o’zgaruvchisi i.
for i := 1 to c - 1 do 
begin 
z := z + m*i; {Raqamlar yig’indisi} 
s := s + m;
m := m*10
end;
Siklda raqamlar yig’indisi (z := z + m*i), foydalanilgan bir xonali, ikki xonali va h.k raqamlarning yig’indisi hisoblanadi. 
Sikl tugatilganidan so’ng z yig’indiga qolgan c-xonali raqamlar qo’shiladi: 
z := z + (n - s) xc {n - s qolgan c-xonadan iborat raqamli betlar}
Prosedura
Procedure Page(n : integer; var z : integer); 
var 
i, m, c, s : integer; 
begin 
m := 9; 
number(n, c); z := 0; s := 0; 
for i := 1 to c - 1 do 
begin 
z := z + m*i; {Raqamlar yig’indisi} 
s := s + m;
m := m*10
end
z := z + (n - s)*c
end;
Va nihoyat, dasturning to’la ko’rinishi:
Program L88; { Betlarni nomerlash uchun kerak bo’ladigan raqamlar soni }

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