[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Can Fermat's prime test be implemented efficiently? I tried

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 4
Thread images: 1

File: 1487877149754.jpg (38KB, 362x346px) Image search: [Google]
1487877149754.jpg
38KB, 362x346px
Can Fermat's prime test be implemented efficiently?
I tried it it, and it only works up to n=13, for n=17 there is an integer overflow.
(pascal code following)


program fermat;

var n : uint64;
var a : uint64;
var prime : boolean = true;

//power of a and b
function pot(a,b:uint64):uint64;
var i,d: uint64;
begin
d:=1;
for i:=1 to b do d:=d*a;
writeln(a, ' ', b, ': ', d); //manually check where the overflow occurs
pot:=d;
end;


begin

write('Enter a number n: ');
readln(n);

a := 1;

while a <> (n-1) do begin

a := a+1;
if (n mod a) = 0 then //if not coprime, it can't be a prime
begin
prime := false;
break;
end;

if (pot(a, (n-1)) mod n) <> 1 then //fermat's little theorem
begin
prime := false;
break;
end;

end;

writeln('Prime state of ', n, ':', prime);

end.

>>
>>59163680
look for bignums
>>
Look into exponentiation by squaring. Your power function Obviously grows too big way too fast.
>>
>>59163680
Use " unsigned long long int" instead of int for each variable
Thread posts: 4
Thread images: 1


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.