Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int NW1D(int a, int b)
- {
- if(a==1 || b==1) return 1;
- if(a == b) return a;
- else if(a > b) return NW1D(a - b, b);
- else if(a < b) return NW1D(a, b - a);
- }
- int NWD(int a, int b)
- {
- while(a != b && a != 1 && b != 1)
- {
- if(a > b) a-=b;
- else b-=a;
- }
- return a;
- }
- void _4_3()
- {
- ifstream dane("przyklad.txt");
- int tab[500];
- for(int i=0; i<500; i++)
- {
- dane >> tab[i];
- }
- int tmp_licznik = 0;
- int max_licznik = 0;
- int max_nwd = 0;
- int tmp_nwd= 0;
- int pierwsza= 0;
- int max_pierwsza = 0;
- for(int i=0; i<500; i++)
- {
- tmp_licznik = 1;
- tmp_nwd = 0;
- for(int j=i; j<499; j++)
- {
- if((NWD(tab[j], tab[j+1])) > 1 && tmp_licznik == 1)
- {
- tmp_nwd = NWD(tab[j], tab[j+1]);
- tmp_licznik++;
- pierwsza = tab[j];
- cout << "poczatek\n" << tmp_licznik << " " << pierwsza <<" aktualna: "<<tab[j+1] << endl;
- }
- else if(NWD(tmp_nwd, tab[j+1]) > 1)
- {
- tmp_nwd = NWD(tmp_nwd, tab[j+1]);
- tmp_licznik++;
- cout << tmp_licznik << " " << pierwsza << "aktualna: " <<tab[j+1] << endl;
- }
- else
- {
- cout << "break:: " << tmp_licznik << " " << pierwsza <<"ostatnia: "<<tab[j] << endl;
- break;
- }
- }
- cout << "\n";
- if(tmp_licznik > max_licznik)
- {
- max_licznik = tmp_licznik;
- max_nwd = tmp_nwd;
- max_pierwsza = pierwsza;
- }
- }
- cout << max_licznik << endl;
- cout << max_nwd << endl;
- cout << max_pierwsza;
- }
- int main()
- {
- _4_3();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement