matlab veya
c gibi ortamlarda yazılan basit programlarla istenilen değere kadar olanları listelenebilen sayılardır. fakat normal bir bilgisayarda hesaplama süresinin, dört basamaklı 9999'e kadar olan asallar için 3 saniye, beş basamaklı 99999 için 2 dakika 38 saniye, 1 milyona kadar olanlar için ise 26 dakikadan fazla olduğu ve bu sürenin basamak sayısına bağlı olarak katlanarak arttığı düşünülürse, şu anda 9.1 milyon basamaktan oluşan en büyük asal sayıdan daha büyüğünü keşfetmenin nasıl bir problem olduğu da daha iyi anlaşılır.
şu anda bilinen en büyük asal sayı: 2 üzeri 30402457 eksi 1
ayrıca listeleme yöntemi yerine herhangi bir sayının asal olup olmadığı da yine bir kaç satırlık programlarla anlaşılabilir.
listeleme için patenti bana ait olan matlab programı:
%assay(s)
% s değerine kadar olan asal sayıları gösterir.
function assay(s)
t(1)=2;
d=1;
for a=3:s
for b=2:(a-1)
c=mod(a,b);
if c==0
break
elseif b==(a-1)
d=d+1;
t(d)=a;
end
end
end
disp(t)
sayının asal olup olmadığını sorgulamak için:
%assaysor(a)
% girilen a sayısının asal olup olmadığını bulur
function assaysor(a)
b=ceil(a/2);
for t=2:b;
k=mod(a,t);
if k==0
disp(sprintf('%d asal sayı değildir',a));
break
elseif t==(b-1)
disp(sprintf('%d asal sayıdır',a));
end
end
not: bilinen en büyük asal sayıdan daha büyüğünü hesaplamaya çalışanlar için şimdiden (bkz:
ctrl+c)