|
O'zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti loyiha ishi Guruh: 13-21 Bajardi: Rahmonaliyev Toirjon Mahmudov Mohirjon Numonov Muxiddin Rustamov Farrux
|
bet | 7/10 | Sana | 16.12.2023 | Hajmi | 363,4 Kb. | | #120246 |
isPrime(long n): Ushbu metod berilgan long sonning tub son ekanligini tekshirish uchun ishlatiladi. Agar n 1 yoki undan kichik yoki teng bo'lsa, false qaytaradi. Agar n 2 yoki 3 ga teng bo'lsa, true qaytaradi. Agar n juft son bo'lsa, false qaytaradi. Sikl orqali i ni 3 dan n ning ildiziga to'g'ri kelganda oshib borib, har bir i uchun n ni qoldiqsiz bo'lib bo'linishi tekshiriladi. Agar qoldiqsiz bo'lsa, n tub son emas va false qaytariladi. Aks holda n tub son va true qaytariladi.
pollard(BigDecimal n): Bu metod berilgan BigDecimal soni uchun Pollard algoritmini amalga oshirish uchun ishlatiladi. Ushbu algoritm a va i o'zgaruvchilar bilan bajariladi. Sikl to'g'ri kungacha davom etadi. Har bir qadamda a soni i darajasiga ko'tariladi va n ga bo'linib qoldiqsiz bo'linishi hisoblanadi. a soniga n qo'shiladi va n ga qoldiqsiz bo'linishi hisoblanadi. a - 1 va n ning EKUBini topish uchun d o'zgaruvchisi ishlatiladi. d 1 dan katta bo'lsa, uning qiymati qaytariladi. Aks holda i ni birga oshirib, siklni davom ettirish uchun qayta chaqiriladi.
main() metodi asosiy ish jarayonini boshqaradi. Bu metodda berilgan sonning sanoq faktorlarini topish jarayoni bajariladi.
Berilgan son n BigDecimal sifatida e'lon qilinadi num o'zgaruvchisi n ga tenglanadi va ans nomli ArrayList sanoq faktorlarni saqlash uchun yaratiladi.
Sikl to'g'ri kungacha davom etadi. Har bir siklda pollard metodidan foydalaniladi va topilgan faktor ans ro'yxatiga qo'shiladi.
Sikl davomida num soni tub son ekanligini tekshiriladi. Agar tub bo'lsa, sikl to'xtatiladi.
Natijada ans ro'yxatidagi sanoq faktorlari ekranga chiqariladi dastur natijasi 1-rasmda ko’rsatilgan.
Javoblari:
1-rasm
Yuqoridagi N soni p va q tub ko’paytuvchilarga ajraldi bular quyidagilar :
p-son: 158822251136794944865323124199145317148993195697175575250620030834076269158370217730447422132291840359498307037951292219724248353952878182870794591411565869012281621591404559808567040937104513168558997436378361254840857304689282003972439950411832326518827485842928202470808822700781566552547057732045518407103;
q-son:
158822251136794944865323124199145317148993195697175575250620030834076269158370217730447422132291840359498307037951292219724248353952878182870794591411565869012281621591404559808567040937104513168558997436378361254840857304689282003972439950411832326518827485842928202470808822700781566552547057732045518407241;
Xulosa:
Pollard algoritmi katta son faktorlashtirish uchun samarali bir usul hisoblanadi. U sonning faktorlarini aniqlashda yordam beradi. Keyinchi marta esa, agar siz boshlang'ich ma'lumotlarni taqdim etgan bo'lsangiz, algoritmdan foydalanish uchun shunchaki boshqalarini belgilashingiz kerak bo'lar edi.
Misol uchun, agar siz katta son (n), boshlang'ich nuqta (initial point), va oraliq (step size) ni berib Pollard algoritmini amalga oshirishni rejalashtirasiz, u holda algoritm sizga faktorlarni topishda yordam berishi mumkin.
Boshqa faktorlashtirish usullariga nisbatan Pollard algoritmi tezlik va samaradorlik bilan ajralib turadi. Shuning uchun, agar son faktorlashtirishni tez va samarali bajarishga qaror qilsangiz, Pollard algoritmini sinab ko'rishingiz maqsadga muvofiq bo'ladi.
Boshlang'ich ma'lumotlarni belgilashdan oldin esa, sonning faktorialarini topishga oid qoidalar va maslahatlar mavjud bo'lishi mumkin. Misol uchun, sonning katta faktorialari, faktorial bo'lmagan paytlar, yoki n sonining xususiyatlari haqida ma'lumotlarni bilishingiz foydalidir.
Asosan, Pollard algoritmini bajarish uchun foydalaniladigan ma'lumotlar sonning katta faktorialarini aniqlashga yo'l qo'ymoqda. Uning tez va samaradorligi esa uni kriptografiya, son jarayonlari, va boshqa sohalarda qulay qiladi.
Pollard algoritmi foydalanuvchiga quyidagi imkoniyatlarni beradi:
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
O'zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti loyiha ishi Guruh: 13-21 Bajardi: Rahmonaliyev Toirjon Mahmudov Mohirjon Numonov Muxiddin Rustamov Farrux
|