[ Loodack @ 03.01.2009. 15:49 ] @
Dobio sam za seminarski da napisem neki programcic, pa mi treba pomoc. Elem, zadatak glasi ovako: U istoriji matematike predlagane su razne formule za generisanje prostih brojeva. Ispostavilo se da su mnoge od njih bile pogresne, tj. pronadeni su slucajevi u kojima ne generisu proste brojeve. Napisati program u kojem bi se koristile bar tri takve formule i za svaku od njih pronalazio bar jedan slucaj za koji formula ne daje prost broj. Uputstvo. Jedna od takvih formula (ciji autor nije poznat) bila je xn = n^2 + n + 41 Jos jedna formula, slicna prethodnoj, je: xn = n^2 - 79n + 1601 U prvoj polovini 17. veka, Mersen je uveo pretpostavku da su brojevi oblika 2p - 1 prosti brojevi kad god je p prost broj. Ovakvi brojevi, u oznaci Mp, poznati su pod nazivom Mersenovi brojevi. Mersenov broj M127 = 2^127 - 1, dugi niz godina drzao je rekord kao najveci poznati prost broj. Na zalost, Mersenova pretpostavka nije bila tacna. Postoji veci broj Mersenovih brojeva koji nisu prosti. Dakle, i Mersenovu formulu mozemo svrstati u prethodnu grupu. Evo kako sam ja poceo: #include<stdio.h> #include<math.h> int prost(int n); int main(){ int i=1,k=1; int n; n=i*i+i+41; while (prost(n)==1) { n=i*i+i+41; i++; } printf("Prvi prost broj za koji ne vazi formula n^2 + n + 41 je: %d\n",n); getchar(); getchar(); } int prost(int n) { float k; int i; if ((n%2==0 && n!=2) || n==1) return 0; k=sqrt(n); for(i=3; i<=k; i+=2) if (n % i == 0) return 0; return 1; } E sad, znam da ovo nije najsrecnije resenje.. zapravo, cudim se sto uopste radi. Za drugu formulu isto to ne radi, tj. dobijam 1523 koji je prost, a trecu nisam ni probao.. Ako moze neka pomoc.. Hvala. |