Та бүхэнд амралтын өдрийн мэндийг хүргье. Би нилээд дээр буюу 2012 оны 7 дугаар сарын 20-ны өдөр Анхны тоог хэрхэн олох талаар хэн нэгнээс асуусан тухай нийтлэл оруулж байсныг та бүгд санаж байгаа байх. Энд дарж тус нийтлэлийг үзэж болно. Харин манай сайтын зочин Б.Сонинхангай өгөгсдөн тоо анхны тоо мөн эсэхийг шалгадаг нэгэн VBA кодыг оруулсан байна. Анхны тооны талаар онолын хэсгийг товчхон дурьдая. Тиймээс тус VBA кодыг хэрхэн ашиглах талаар өнөөдрийн нийтлэлдээ авч үзэх болно.
Нэг болон өөрөөсөө өөр тоонд хуваагдадгvй натурал тоог Анхны тоо гэж нэрэлдэг. Эхний хэдэн анхны тоонуудыг дурдвал: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 г.м… Харин 4, 6, 8, 9 г.м нь анхны тоо биш. Учир нь бид эдгээр тоонуудыг 4 = 2 2, 6 = 2 3, 8 = 2 2 2, 9 = 3 3 г.м – ээр өөр натурал тоонуудыг vржвэр болгон задалж болно. Эдгээр тоонуудыг зохиомол тоонууд гэдэг. Бас бид 1 – ийг анхны тоо гэж vздэггvй.
За бидэнд 1313 гэсэн тоо өгөгдсөн байна. Энэ тоо анхны тоо мөн эсэхийг хэрхэн шалгах бэ?.
Мэдээж бидэнд Б.Сонинхангай бичиж өгсөн VBA код байгаа. Түүнийг ашиглая.
Function Prime(n As Double) As Boolean Prime = True For i = 2 To Int(n ^ (1 / 2)) If n Mod i = 0 Then Prime = False End If Next i End Function
Дээрх VBA кодыг MS Excel программын VBE-т шинээр модуль нээж бичнэ. Зурагт үзүүлэв.
За одоо MS Excel программд шилжиж өгөгдсөн 1313 тоог =PRIME() функцээр анхны тоо мөн эсэхийг шалгана.
Шалгалтын үр дүнгээс харахад 1313 гэсэн тоо анхны тоо биш байна. Учир нь тус тоо 101 гэсэн тоонд хуваагдаж байна. Харин 101 тоог анхны тоо мөн эсэхийг шалагахад хариу нь ҮНЭН гэж гарсан байна.
Одоо тус функцийг ашиглан хангалттай их тоог анхны тоо мөн эсэхийг шалгая. Бидэнд 6,515,356,427 гэсэн тоо өгөгдсөн байна.
Энэ тохиолдод #VALUE! гэсэн алдааг зааж байна. Чухам яагаад ингэж алдаа зааж байгааг би хувьдаа тайлбарлаж чадахгүй байна. Үүнийг манай зочин Б.Сонинхангай л тайлбарлаж чадна байх.
За ингээд энэ бүгдийн хариу олоход тусалсан Б.Сонинхангайдаа баярласан талархснаа Excelpedia.org болон нийт уншигч нарынхаа өмнөөс илэрхийлэе.
Сэтгэгдэл үлдээх