1 A. Topshiriq. Oddiy sonlar


Download 33 Kb.
Sana02.01.2022
Hajmi33 Kb.
#195166
Bog'liq
!A mashq


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();

}

}

}
Download 33 Kb.

Do'stlaringiz bilan baham:




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