vuruqları tapmağın məsləhətli yollarından biri, ədədi əvvəlcə sadə vuruqlarına ayırmaq, daha sonraysa bu vuruqların kombinasiyalarını müəyyənləşdirməkdi. verilən a ədədi a1, a2, .. an sadə ədədlərinin hasili şəklində göstərilə bilirsə, deməli həm bu a1, a2 .. an həm də, müxtəlif ai1*ai2*…*ain (1<=i<=n) ədədləri a-nın vuruqlarıdı.
proqramlaşdırmanın məsləhətli praktikalarından biri müəyyən işi mümkün ola bilən ən kiçik işlərə bölüb, həmin işləri ayrılıqda görməkdi. belədə yazdığınız kod həm oxunaqlı olur, həm (varsa) səhvləri tapmaq daha asan olur və sairə, və ilaxır.
əgər sadə vuruqları tapmalıyıqsa, deməli əvvəlcə sadə ədədləri müəyyənləşdirməliyik. ümid edirəm ki, sadə ədədlərlə bağlı müəyyən qədər anlayışınız var. axtarış motorlarının birində əsliliyin yoxlanılması (test prostotı/primality test) metodlarını araşdırın. onlarca metod çıxacaq qarşınıza. eratosfen xəlbiri, sınaq bölgüsü, fermanın kiçik teoremi, poklinqton testi …
əgər ədəd sadədirsə funksiya true, deyilsə false nəticəsini versin.
daha sonra verilən (x) ədədin sadə vuruqlarını tapmağa çalışın.
sadə_vuruqlar_massivi = []
p = 1
funksiya sadə_vuruqları_tapmaq:
<strong>əgər</strong> x p modulunda sıfıra bərabərdirsə <strong>və əgər</strong>sadə_ədəd(p) düzdürsə
p-ni massivə əlavə et
p-ni x-ə qədər bir-bir artır.
beləcə həmin ədədin sadə vuruqlarını da tapmış olursunuz.
daha sonra sadə_vuruqlar_massivi-ndə iterasiya aparın.
massivin birinci elementi p1, sonuncusu pn olsun.
i, j k ilə iterasiya aparın.
aşağıdakı vuruqlar x-ə qalıqsız bölünürsə və massivdə yoxdursa (burda əlbəttə ki, birinci dərəcədən hasilləri ümumiyyətlə iterasiyaya qatmamaq olar) massivə əlavə eləyin.
p1^0*p2^0* ... * pn^0
p1^0*p2^0* ... * pn^1
...
p1^i*p2^j* ... * pn^k
burda, i, j, k ədədi qüvvələrdi.
məsələ uzun kimi görünsə də, təxminən 10-12 sətirlə həll eləmək olur. əlbəttə ki, burdakı resepti tətbiq eləmək məcburiyyətində deyilsiz; lakin bu yolu seçməklə, “parçala və hökmranlıq elə” prinsipini də qavramaq imkanının əldə eləyəcəksiz.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Ededin sadeliyini deqiq müeyyen eden heç bir metod mövcud deyil. Yegane yol bütün vuruqları yoxlamaqdır. Sehv elemiremse sonuncu en böyük sade eded 2013-de tapılmışdı.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
ahmed bəy, metod mövcud deyil demək sizcə, böyük iddia deyil? bəli, sadə ədədləri göstərəcək müəyyən bir formul yoxdu, amma bu o demək deyil ki, sadəliyi təyin eləyəcək metod yoxdu.
əgər bir ədəd öz kavadrat kökününü təqribi dəyərinə qədərki sadə ədədlərə bölünmürsə həmin ədəd sadə ədəddi. yaxud, bütün 2 və 3 istisna olmaqla bütün ədədlər 6k+1, 6k-1 şəklində göstərilə bilərlər. yuxarıdakı yazıda qeyd elədiyim axtarış sözləri əsasında araşdırma aparın. qarşınıza onlarca əsliliyi yoxlama metodları çıxacaq; hansı ki, bəzilərini həmin yazıda qeyd eləmişəm.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Salam zehmet olmasa bu “əgər bir ədəd öz kavadrat kökününü təqribi dəyərinə qədərki sadə ədədlərə bölünmürsə həmin ədəd sadə ədəddi.” cumlevize aid bir kicik numune gostererdizde mene
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Bəli təəssüf ki ədədin sadəliyini (“sadə” adı məncə uğurlu tərcümə deyil, “xüsusi” daha düzgün olardı) müəyyən edən asan üsul mövcud deyil. Yeganə yol bütün mümkün vuruqları yoxlamaqdı, başqa heç bir yolu yoxdu. Bütün digər üsulların həmişə düzgün nəticə verməsi sübut olunmayıb, onlarla yalnız test xarakterli yoxlamalar aparırlar, uğurlu olduqda yoxlamanı daha da intensivləşdirirlər. Ən cəlbedici üsul bugünə kimi Mersen üsulu hesab olunur, o da bir çox hallarda yanlış nəticə verir. Hal-hazırda Mersen üsulunu təkmilləşdirmək üstündə tədqiqatlar aparılır, ama hələki heç bir nəticə yoxdur.
Azərbaycana:
Ən son sadə (xüsusi) ədəd 2008 -də tapılıb və 2011 -də sadəliyi isbat olunub, aşağıdakı ədəddir:
2^43112609 – 1
Qeyd 1: Sadə ədədlərə sadə deməynən (uğursuz tərcümə) onların hörməti bir qədər azaldılmış olur. Əslində sadə ədədlər informasiya təhlükəsizliyi nəzəriyyəsinin əsasını təşkil edir. Ədədin sadəliyini müəyyənləşdirmək olduqca çətindir, məhs bunnan kriptoqrafiyada geniş istifadə olunur.
Qeyd 2: Sadə ədədlərlə bağlı ətraflı məlumatı Kenneth H. Rosen -in Discrete Mathematics and Its Applications kitabının Number Theory and Cryptography başlığının, Primes and Greatest Common Divisors bölməsindən əldə etmək olar.
Discrete Mathematics and Its Applications
Kenneth Rosen
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Tesekkurler melumata gore birde 2-ci cumleviz duz deyil fikiremce,mence her bir ardicilligin sade ededlerin,mueyyen bir artim qaydasi var ve onlarin heresi ucun uygun olan bir xususiyyeti var baxmayaraqki sade ededler ardicilliga oxsamir amma yene mencede bir qaydasi var butun ardicilliqlar mueyyen bir dusturla teyin olunur sadece o dusturlarin coxu tapilmiyib ve her eded ozunde bir sirri saxlayir
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
əzizim, mən erməninin xaçına söymürəm – yuxarıda da yazdım ki, sadə (əsli) ədədləri müəyyənləşdirməyin formulu yoxdu. yəni, sadə ədədlər üçün fibonaççi ardıcıllığı kimi, yaxud cüt/tək ədədlər kimi ümumi bir riyazi göstəriş yoxdu. bunun pis yanı odu ki, ixtiyari n ədədi üçün n-ci sadə ədədi müəyyənləşdirməyin ümumi formulu yoxdu. hansı ki, n-ci natural cüt ədədin, 2(n-1) olduğunu bilirik. lakin bu, əsliliyi müəyyənləşdirmək metodunun yoxluğu demək deyil və dediyiniz metod heç də özünə qədərki bütün ədədləri yoxlamaq formasında olmur, olsa da uğurlu yol deyil. çünki bir ədədin yarısından sonra özünə bölünən cəmi bir vuruğu olur ki, bu da həmin ədədin özüdür.
verilən p ədədinin sadəliyini yoxlamağın bir neçə mümkün yolundan biri.
ədədin kvadrat kökünün təqribi dəyərinə baxılır. bərayi ehtiyat, kvadrat kökün tam hissəsinin üstünə bir əlavə olunur (c = kök(p) + 1). əgər p həmin ədədə (c) qədərki sadə ədədlərin birinə bölünürsə deməli sadə deyil, əks halda sadədi. rekursiv proqramlaşdırma ilə bunun öhdəsindən asanlıqla gəlmək olur.
ədədlər nəzəriyyəsində müəyyən ardıcıllığın göstərişi epistemologiya nöqteyi nəzərindən sintetikdi – parçalardan bütünə getmək. beləliklə biz həmin ardıcıllığa aid istənilən üzvü asanlıqla tapa bilərik.
sadəliksə analitikdi. buna görə də, nə mersen göstərişi, nə də fermanın isbatsız teoremi bizə n-ci sadə ədədi tapmağa imkan vermir. birinci 100 min, 1 milyon sadə ədədə baxıb ardıcıllığın reqressiya dəyərini müəyənləşdirmək hələ də mümkün olmadığından sadə ədədlərlə işləməyimiz analitik metodlar üzərində qurulur.
xalis riyaziyyatı riyaziyyat eləyən şey, onun apriori və sintetik olmağı və məsələlərin həllinin induksiya yoluyla aparılmağıdır.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Formul yoxdu, demeli yoxlamaq lazımdı. Bütün sade vuruqları. Siz dediyiniz üsullar nezeriyyedi ve praktikada yalnız kiçik ededlere tetbiq oluna bilir. Yoxsa bunun qeyd elediyiniz kimi asan üsulu olsaydı bir ededin sadeliyin sübut elemeye 3 il vaxt lazım olmaz, en sonuncu sade ededi tapana 10 minlerle pul mükafatı teyin olunmazdı.
O ki qaldı ededin yarısına,üçde birine v.s. kimi hissesine qeder yoxlamaq O(Cn) = O(n) eger C sabitdiese.
Birde ki o ehtimal nezeriyyesi filan qeyd elediyiviz üsullar parçanın bütövüne getmek filan heç biri burda işe yaramır. Bu ededler nezeriyyesidir ve riyaziyyatın heç bir başqa sahesine oxşamır. Burda teklifler sade olur, isbatı da ya olduqca sade olur, ya da onilliklere isbat olunca bilmir.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
Verilmiş cavablar və yazılan şərhlər (14 cavab var)
3
Hər halda Sizə sadə vuruqlara ayırma lazımdır.
program Vuruqlara_ayirma;
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır
var i,a,b:Int64;
begin
write(‘a = ‘); readln(a);
i:=2; b:=a;
while (i>1) and (i
2
Mene ele gelir hazır kod yazmağdansa psevdokod ve ya alqoritm yazmaq daha düzgündür.
3
vuruqları tapmağın məsləhətli yollarından biri, ədədi əvvəlcə sadə vuruqlarına ayırmaq, daha sonraysa bu vuruqların kombinasiyalarını müəyyənləşdirməkdi. verilən a ədədi a1, a2, .. an sadə ədədlərinin hasili şəklində göstərilə bilirsə, deməli həm bu a1, a2 .. an həm də, müxtəlif ai1*ai2*…*ain (1<=i<=n) ədədləri a-nın vuruqlarıdı.
proqramlaşdırmanın məsləhətli praktikalarından biri müəyyən işi mümkün ola bilən ən kiçik işlərə bölüb, həmin işləri ayrılıqda görməkdi. belədə yazdığınız kod həm oxunaqlı olur, həm (varsa) səhvləri tapmaq daha asan olur və sairə, və ilaxır.
əgər sadə vuruqları tapmalıyıqsa, deməli əvvəlcə sadə ədədləri müəyyənləşdirməliyik. ümid edirəm ki, sadə ədədlərlə bağlı müəyyən qədər anlayışınız var. axtarış motorlarının birində əsliliyin yoxlanılması (test prostotı/primality test) metodlarını araşdırın. onlarca metod çıxacaq qarşınıza. eratosfen xəlbiri, sınaq bölgüsü, fermanın kiçik teoremi, poklinqton testi …
bunlardan birini seçin və buna əsasən əsliliyi (sadəlik) müəyyənləşdirən bir funksiya/modul ( sadə_ədəd(p) ) yazın.
əgər ədəd sadədirsə funksiya true, deyilsə false nəticəsini versin.
daha sonra verilən (x) ədədin sadə vuruqlarını tapmağa çalışın.
beləcə həmin ədədin sadə vuruqlarını da tapmış olursunuz.
daha sonra sadə_vuruqlar_massivi-ndə iterasiya aparın.
massivin birinci elementi p1, sonuncusu pn olsun.
məsələ uzun kimi görünsə də, təxminən 10-12 sətirlə həll eləmək olur. əlbəttə ki, burdakı resepti tətbiq eləmək məcburiyyətində deyilsiz; lakin bu yolu seçməklə, “parçala və hökmranlıq elə” prinsipini də qavramaq imkanının əldə eləyəcəksiz.
1
Ededin sadeliyini deqiq müeyyen eden heç bir metod mövcud deyil. Yegane yol bütün vuruqları yoxlamaqdır. Sehv elemiremse sonuncu en böyük sade eded 2013-de tapılmışdı.
0
Salam Əhməd bəy, yadınızdadırsa deyə bilərsiz neçəydi o ədəd? Maraqlı gəldi sadəcə
2
ahmed bəy, metod mövcud deyil demək sizcə, böyük iddia deyil? bəli, sadə ədədləri göstərəcək müəyyən bir formul yoxdu, amma bu o demək deyil ki, sadəliyi təyin eləyəcək metod yoxdu.
əgər bir ədəd öz kavadrat kökününü təqribi dəyərinə qədərki sadə ədədlərə bölünmürsə həmin ədəd sadə ədəddi. yaxud, bütün 2 və 3 istisna olmaqla bütün ədədlər 6k+1, 6k-1 şəklində göstərilə bilərlər. yuxarıdakı yazıda qeyd elədiyim axtarış sözləri əsasında araşdırma aparın. qarşınıza onlarca əsliliyi yoxlama metodları çıxacaq; hansı ki, bəzilərini həmin yazıda qeyd eləmişəm.
0
Salam zehmet olmasa bu “əgər bir ədəd öz kavadrat kökününü təqribi dəyərinə qədərki sadə ədədlərə bölünmürsə həmin ədəd sadə ədəddi.” cumlevize aid bir kicik numune gostererdizde mene
2
Bəli təəssüf ki ədədin sadəliyini (“sadə” adı məncə uğurlu tərcümə deyil, “xüsusi” daha düzgün olardı) müəyyən edən asan üsul mövcud deyil. Yeganə yol bütün mümkün vuruqları yoxlamaqdı, başqa heç bir yolu yoxdu. Bütün digər üsulların həmişə düzgün nəticə verməsi sübut olunmayıb, onlarla yalnız test xarakterli yoxlamalar aparırlar, uğurlu olduqda yoxlamanı daha da intensivləşdirirlər. Ən cəlbedici üsul bugünə kimi Mersen üsulu hesab olunur, o da bir çox hallarda yanlış nəticə verir. Hal-hazırda Mersen üsulunu təkmilləşdirmək üstündə tədqiqatlar aparılır, ama hələki heç bir nəticə yoxdur.
Azərbaycana:
Ən son sadə (xüsusi) ədəd 2008 -də tapılıb və 2011 -də sadəliyi isbat olunub, aşağıdakı ədəddir:
2^43112609 – 1
Qeyd 1: Sadə ədədlərə sadə deməynən (uğursuz tərcümə) onların hörməti bir qədər azaldılmış olur. Əslində sadə ədədlər informasiya təhlükəsizliyi nəzəriyyəsinin əsasını təşkil edir. Ədədin sadəliyini müəyyənləşdirmək olduqca çətindir, məhs bunnan kriptoqrafiyada geniş istifadə olunur.
Qeyd 2: Sadə ədədlərlə bağlı ətraflı məlumatı Kenneth H. Rosen -in Discrete Mathematics and Its Applications kitabının Number Theory and Cryptography başlığının, Primes and Greatest Common Divisors bölməsindən əldə etmək olar.
Discrete Mathematics and Its Applications
Kenneth Rosen
0
Tesekkurler melumata gore birde 2-ci cumleviz duz deyil fikiremce,mence her bir ardicilligin sade ededlerin,mueyyen bir artim qaydasi var ve onlarin heresi ucun uygun olan bir xususiyyeti var baxmayaraqki sade ededler ardicilliga oxsamir amma yene mencede bir qaydasi var butun ardicilliqlar mueyyen bir dusturla teyin olunur sadece o dusturlarin coxu tapilmiyib ve her eded ozunde bir sirri saxlayir
1
əzizim, mən erməninin xaçına söymürəm – yuxarıda da yazdım ki, sadə (əsli) ədədləri müəyyənləşdirməyin formulu yoxdu. yəni, sadə ədədlər üçün fibonaççi ardıcıllığı kimi, yaxud cüt/tək ədədlər kimi ümumi bir riyazi göstəriş yoxdu. bunun pis yanı odu ki, ixtiyari n ədədi üçün n-ci sadə ədədi müəyyənləşdirməyin ümumi formulu yoxdu. hansı ki, n-ci natural cüt ədədin, 2(n-1) olduğunu bilirik. lakin bu, əsliliyi müəyyənləşdirmək metodunun yoxluğu demək deyil və dediyiniz metod heç də özünə qədərki bütün ədədləri yoxlamaq formasında olmur, olsa da uğurlu yol deyil. çünki bir ədədin yarısından sonra özünə bölünən cəmi bir vuruğu olur ki, bu da həmin ədədin özüdür.
verilən p ədədinin sadəliyini yoxlamağın bir neçə mümkün yolundan biri.
ədədin kvadrat kökünün təqribi dəyərinə baxılır. bərayi ehtiyat, kvadrat kökün tam hissəsinin üstünə bir əlavə olunur (c = kök(p) + 1). əgər p həmin ədədə (c) qədərki sadə ədədlərin birinə bölünürsə deməli sadə deyil, əks halda sadədi. rekursiv proqramlaşdırma ilə bunun öhdəsindən asanlıqla gəlmək olur.
ədədlər nəzəriyyəsində müəyyən ardıcıllığın göstərişi epistemologiya nöqteyi nəzərindən sintetikdi – parçalardan bütünə getmək. beləliklə biz həmin ardıcıllığa aid istənilən üzvü asanlıqla tapa bilərik.
sadəliksə analitikdi. buna görə də, nə mersen göstərişi, nə də fermanın isbatsız teoremi bizə n-ci sadə ədədi tapmağa imkan vermir. birinci 100 min, 1 milyon sadə ədədə baxıb ardıcıllığın reqressiya dəyərini müəyənləşdirmək hələ də mümkün olmadığından sadə ədədlərlə işləməyimiz analitik metodlar üzərində qurulur.
xalis riyaziyyatı riyaziyyat eləyən şey, onun apriori və sintetik olmağı və məsələlərin həllinin induksiya yoluyla aparılmağıdır.
0
Sadeliy, gözelliydi.
0
Formul yoxdu, demeli yoxlamaq lazımdı. Bütün sade vuruqları. Siz dediyiniz üsullar nezeriyyedi ve praktikada yalnız kiçik ededlere tetbiq oluna bilir. Yoxsa bunun qeyd elediyiniz kimi asan üsulu olsaydı bir ededin sadeliyin sübut elemeye 3 il vaxt lazım olmaz, en sonuncu sade ededi tapana 10 minlerle pul mükafatı teyin olunmazdı.
O ki qaldı ededin yarısına,üçde birine v.s. kimi hissesine qeder yoxlamaq O(Cn) = O(n) eger C sabitdiese.
Birde ki o ehtimal nezeriyyesi filan qeyd elediyiviz üsullar parçanın bütövüne getmek filan heç biri burda işe yaramır. Bu ededler nezeriyyesidir ve riyaziyyatın heç bir başqa sahesine oxşamır. Burda teklifler sade olur, isbatı da ya olduqca sade olur, ya da onilliklere isbat olunca bilmir.
0
Riyaziyyatda “mence” adlı anlayış mövcud deyil.
0
Hmm.. o da düzdü mən isbat eləmiyincə deyə bilmərəm
Sual verin
Cavab verin