#include <iostream>
#include <fstream>
using namespace std;
int main() {
int liczba, ile_p=0, minp=30001, maxp=-1, ile_b=0, poprzednia=-100;
int c[200][2], c0=0;
bool odp;
ifstream dane;
dane.open("dane_g.txt");
if (!dane) {
cout << "Blad odczytu!" << endl;
return 0;
}
ofstream zapis;
zapis.open("wyniki_g.txt");
if (!zapis) {
cout << "Blad otwarcia pliku do zapisu!" << endl;
return 0;
}
while (!dane.eof()) {
dane >> liczba;
odp = true;
if (liczba % 2 == 0) odp = false;
for (int i = 3; i * i <= liczba; i += 2) {
if (liczba % i == 0) {
odp = false;
break;
}
}
if (odp == true) {
ile_p++;
if (liczba < minp) minp = liczba;
if (liczba > maxp) maxp = liczba;
if (abs(liczba - poprzednia) == 2) {
ile_b++;
c[c0][0] = poprzednia;
c[c0][1] = liczba;
c0++;
}
poprzednia = liczba;
}
}
zapis << "6.1 " << ile_p << endl;
zapis << "6.2 " << maxp << " min=" << minp << endl;
zapis << "6.3 " << ile_b << endl;
for (int i = 0; i < c0; i++) {
zapis << c[i][0] << " " << c[i][1] << endl;
}
dane.close();
zapis.close();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBsaWN6YmEsIGlsZV9wPTAsIG1pbnA9MzAwMDEsIG1heHA9LTEsIGlsZV9iPTAsIHBvcHJ6ZWRuaWE9LTEwMDsKICAgIGludCBjWzIwMF1bMl0sIGMwPTA7CiAgICBib29sIG9kcDsKICAgIAogICAgaWZzdHJlYW0gZGFuZTsKICAgIGRhbmUub3BlbigiZGFuZV9nLnR4dCIpOwogICAgaWYgKCFkYW5lKSB7CiAgICAgICAgY291dCA8PCAiQmxhZCBvZGN6eXR1ISIgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIAogICAgb2ZzdHJlYW0gemFwaXM7CiAgICB6YXBpcy5vcGVuKCJ3eW5pa2lfZy50eHQiKTsKICAgIGlmICghemFwaXMpIHsKICAgICAgICBjb3V0IDw8ICJCbGFkIG90d2FyY2lhIHBsaWt1IGRvIHphcGlzdSEiIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgd2hpbGUgKCFkYW5lLmVvZigpKSB7CiAgICAgICAgZGFuZSA+PiBsaWN6YmE7CiAgICAgICAgb2RwID0gdHJ1ZTsKCiAgICAgICAgaWYgKGxpY3piYSAlIDIgPT0gMCkgb2RwID0gZmFsc2U7CiAgICAgICAgZm9yIChpbnQgaSA9IDM7IGkgKiBpIDw9IGxpY3piYTsgaSArPSAyKSB7CiAgICAgICAgICAgIGlmIChsaWN6YmEgJSBpID09IDApIHsKICAgICAgICAgICAgICAgIG9kcCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChvZHAgPT0gdHJ1ZSkgewogICAgICAgICAgICBpbGVfcCsrOwogICAgICAgICAgICBpZiAobGljemJhIDwgbWlucCkgbWlucCA9IGxpY3piYTsKICAgICAgICAgICAgaWYgKGxpY3piYSA+IG1heHApIG1heHAgPSBsaWN6YmE7CgogICAgICAgICAgICBpZiAoYWJzKGxpY3piYSAtIHBvcHJ6ZWRuaWEpID09IDIpIHsKICAgICAgICAgICAgICAgIGlsZV9iKys7CiAgICAgICAgICAgICAgICBjW2MwXVswXSA9IHBvcHJ6ZWRuaWE7CiAgICAgICAgICAgICAgICBjW2MwXVsxXSA9IGxpY3piYTsKICAgICAgICAgICAgICAgIGMwKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcG9wcnplZG5pYSA9IGxpY3piYTsKICAgICAgICB9CiAgICB9CgogICAgemFwaXMgPDwgIjYuMSAiIDw8IGlsZV9wIDw8IGVuZGw7CiAgICB6YXBpcyA8PCAiNi4yICIgPDwgbWF4cCA8PCAiIG1pbj0iIDw8IG1pbnAgPDwgZW5kbDsKICAgIHphcGlzIDw8ICI2LjMgIiA8PCBpbGVfYiA8PCBlbmRsOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYzA7IGkrKykgewogICAgICAgIHphcGlzIDw8IGNbaV1bMF0gPDwgIiAiIDw8IGNbaV1bMV0gPDwgZW5kbDsKICAgIH0KCiAgICBkYW5lLmNsb3NlKCk7CiAgICB6YXBpcy5jbG9zZSgpOwoKICAgIHJldHVybiAwOwp9Cg==