Olimpiada misollarini yechish usullari II- bosqich Muallif: Mengliyev Sh. Qo`shilgan sana: 2015-04-08 Olimpiada misollarini yechish usullari II – bosqich
Program L86; { To’g’ri bo’luvchilar soni} uses
Download 43.84 Kb.
|
олимпиада учун масалалар
- Bu sahifa navigatsiya:
- 87-misol . n
Program L86; { To’g’ri bo’luvchilar soni}
uses Crt; var i, a, b, s : integer; Procedure math_divisor(n : integer; var s : integer); var d : integer; begin s := 0; for d := 1 to n div 2 do if n mod d = 0 then s := s + d end; begin write('1 dan katta bo’lgan oraliqning chap qismini kiriting '); readln(a); write('Oraliqning o’ng qismini kiriting '); readln(b); for i := a to b do begin math_divisor(i, s); write(i 'sonining to’g’ri bo’luvchilari yig’indisi’,); writeln(‘teng’, s) end end. 87-misol. n natural soni bo’luvchilar soni toq bo’lgandagina aniq kvadrat hisoblanadi. Isbotlang. Program L87; { Aniq kvadrat va bo’luvchilar soni } uses Crt; var i, n, k : integer; Procedure number_division(n : integer; var k : integer); var d : integer; begin k := 0; for d := 1 to n div 2 do if n mod d = 0 then k := k + 1; k := k + 1 end; begin write('Oraliqning o’ng qismini kiriting '); readln(n); for i := 1 to n do begin write( i*i, ' soning bo’luvchilar soni= '); number_division(i*i, k); write(k); if k mod 2 <> 0 then writeln(' – toq son') else writeln(' – juft son') end end. 88-misol. Kitob betlarini nomerlash. Kitobdagi barcha betlarini nomerlash uchun nechta raqam kerak bo’lishini aniqlovchi dastur tuzing. Yechish Matematik yechimni xususiy misolda ko’rib chiqamiz, so’ngra esa umumiy xulosa chiqaramiz. Bizga 357 ta betni nomerlash uchun kerak bo’ladigan raqamlar sonini aniqlash zarur bo’lsin. Mulohazalar quyidagichadir: bir xonali raqamlar 9 ta, demak ular 9 betni nomerlashadi; ikki xonali sonlar 90 ta - ular 90 ta betni nomerlashadi va 90 . 2 = 180 ta raqamdan foydalanishadi; uch xonali sonlar 900 ta - ular 900 ta betni nomerlab 2700 ta raqamdan foydalanishadi. Demak, berilgan 357 ta betni nomerlash uchun barcha bir xonali va ikki xonali sonlar va uch xonalilarning ma’lum bir qismi kerak bo’ladi. Nechta uch xonali son kerak bo’lishini aniqlash uchun berilgan sondan “ishlatilgan” bir xonali va ikki xonali sonlarni ayirib tashlash kerak: 357 - (9 + 90) = 258. Shunday qilib, bizga hammasi bo’lib shuncha raqam kerak bo’ladi: 9*1=9 90*2=180 258*3=774 ..... . . . . . . . . . . . Jami: 9 + 180 + 774 = 963 raqam. Endi mulohazalarimizni umumlashtiramiz. c raqamdan iborat nbetlar soni berilgan bo’lsin. U holda nomerlash uchun quyidagi raqamlar kerak bo’ladi: 1 - xonalilarga; kerak bo’ladiganlari: 9 x 1 = 9 ta raqam; 2 - xonalilarga; 90 x2 = 180 ta raqam; 3 - xonalilarga; 900x3 = 2700 ta raqam; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c-1 -xonalilarga; 9....0 . (c-1) . . . ta raqam, huddi 357 ta betni nomerlashda uch xonalilarning ma’lum bir qismigina kerak bo’lganligi kabi, c-xonali sonni yozish uchun kerak bo’ladigan raqamlarning hammasi ko’plik qiladi. c-xonali sonni yozish uchun qancha raqamlar kerak bo’lishini aniqlash maqsadida berilgan sondan ishlatilib bo’lingan bir, ikki, n-(9+90+900+9.....0) uch va h.k,. c-1 xonalilarning raqamlarini ayirib tashlash kerak: so’ngra olingan natijani sonning xonasi - c ga ko’paytirish kerak. Sarf bo’lgan raqamlarni qo’shib, biz yakuniy qiymatga ega bo’lamiz. Ushbu mulohazalar asosida dastur tuzib ko’ramiz. Avvalambor, kiritilgan betlar sonida nechta raqam borligini aniqlovchi prosedurani tuzaylik. Bunday dasturga biz oldin ham duch kelganmiz: Download 43.84 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling