Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- #include <cmath>
- using namespace std;
- // funckija provjerava je li broj pr0st
- bool jeProsti(int broj) {
- for(int i=2;i<sqrt(broj);i++)
- if(broj%i==0) return false;
- return true;
- }
- // struktura za element u vezanoj listi
- struct element {
- int broj;
- element* sljedeci;
- };
- int main() {
- unsigned int m,n;
- do {
- cin>>m>>n;
- }
- while(!((m>10000 && m <99999) && (n>10000 && n <99999) && (m<n)));
- element* lista = NULL;
- element* prosliElement;
- ofstream outputDat ("datoteka.txt");
- for(int i=m;i<=n;i++) { // proci kroz sve brojeve od m do n
- if(jeProsti(i)) { // ako je broj prost, onda ga tek dodati u listu
- outputDat << i << endl; // upisati prosti broj u datoteku
- // ostatak je kod za upis broja u listu
- element* trenutniElement = new element;
- trenutniElement->broj = i;
- trenutniElement->sljedeci=NULL;
- if(lista==NULL)
- lista=trenutniElement;
- else
- prosliElement->sljedeci = trenutniElement;
- prosliElement = trenutniElement;
- }
- }
- outputDat.close();
- // prvo pronademo maksimalnu razliku u listi
- // i naravno spremimo u varijablu maxLRazlika
- element* elem = lista;
- int prosliBroj = elem->broj;
- int maxRazlika = 0;
- int razlikaPrvi=0, razlikaDrugi=0;
- elem=elem->sljedeci;
- while(elem!=NULL) {
- int razlika = elem->broj - prosliBroj;
- if(razlika > maxRazlika) {
- maxRazlika = razlika;
- razlikaPrvi = elem->broj;
- razlikaDrugi = prosliBroj;
- }
- prosliBroj = elem->broj;
- elem = elem->sljedeci;
- }
- // onda provjerimo koji sve parovi imaju tu razliku
- // resetiramo sve varijable jer idemo ispocetka kroz listu
- elem=lista;
- prosliBroj = elem->broj;
- razlikaPrvi = 0;
- razlikaDrugi = 0;
- elem = elem->sljedeci;
- while(elem!=NULL) {
- int razlika = elem->broj - prosliBroj;
- if(razlika == maxRazlika) { // svaki par brojeva koji ima maximalnu razliku, ispisat ga
- razlikaPrvi = elem->broj;
- razlikaDrugi = prosliBroj;
- cout << "(" << razlikaPrvi << "-" << razlikaDrugi << ") = " << maxRazlika << endl;
- }
- prosliBroj = elem->broj;
- elem = elem->sljedeci;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement