1 A. Topshiriq. Oddiy sonlar
Download 33 Kb.
|
!A mashq
- Bu sahifa navigatsiya:
- Dasturning kodi
1 A. Topshiriq. Oddiy sonlar. M va N natural sonlar berilgan. M dan N gacha bolgan tub sonlarni chiqarish dasturi tuzilsin. Chegarasi 1 Yechish algoritmi: Masala shartlar bilan berilgan, ya’ni vaqt va sonlarning chegarasi bilan.Biz M dan N gacha bo’lgan tub sonlarni chiqarishimiz kerak. Biz tublikka quyidagicha tekshiramiz: agar am va an oralig’idagi sonlar 2 dan shu sonning kvadrat ildizigacha bo’lgan sonlarning aqalli bitta siga bo’linmasa, bu son tub; agar u biron bir songa bo'linadigan bo'lsa, unda bu son tub emas Amalga oshirish tafsilotlari: *X sonini Y ga bo'linishini butun son tipida berish orqali aniqlash kerak. Haqiqiy tipda (bo'linish "/", frac, int) ko'proq vaqt talab etadi. *Biror sonni tub emasligini bilishinngiz bilanoq siz raqamni tublikka tekshirishni to'xtatishingiz kerak. Masalan, dastur parchasi: bool tub = true; for (uint j = 2; j <= Math.Sqrt(i); j++) { if (i % j == 0) { tub = false; break; } } To’xtatilmasa ajratilgan vaqtdan ko'p ishlaydi, chunki u barcha sonlarni ildizga ajratadi. Bizga esa bir marta biror songa bo’lingandan keyin u sonni boshqa tekshirmasligimiz va siklni to’xtatishimiz kerak. Dasturning kodi: using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _1A { class Program { static void Main(string[] args) { StreamReader ol = new StreamReader(@"D:\Mening\1A.txt"); StreamWriter yoz = new StreamWriter(@"D:\Mening\1Anatija.txt"); string s = ol.ReadLine(); char[] c = { ' ' }; string[] b = s.Split(c, StringSplitOptions.RemoveEmptyEntries); for (uint i = uint.Parse(b[0]); i <= uint.Parse(b[1]); i++) { bool tub = true; for (uint j = 2; j <= Math.Sqrt(i); j++) { if (i % j == 0) { tub = false; break; } } if (tub == true) yoz.Write(" " + i + " "); } ol.Close(); yoz.Close(); } } }300000> Download 33 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling