1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <sstream>
#include <string>

using namespace std;
	
    bool czyPierwsza(int liczba) 
	{
        int dzielniki = 0;
        int pom = 1;

        while (pom <= liczba*liczba) {
            if (liczba % pom == 0) {
                dzielniki++;
            }
            if(dzielniki>2) return false;
            pom++;
        }
        return (dzielniki == 2);
    }
	main() 
	 {
        bool pierwsza = false;
        bool druga = false;
        string numer,p1,p2;
        stringstream konwertuj;
        stringstream rzutuj;
        cin>>numer;
        for(int i=0; i<numer.length()-1; i++){
            pierwsza = false;
            druga = false;
            if(numer.at(i+1)=='0') continue;
            int ipierwsza;
            p1=numer.substr(0,i+1);
            konwertuj<< p1;
            konwertuj>>ipierwsza;
            int idruga;
            p2=numer.substr(i+1,numer.length());
            rzutuj<<p2;
            rzutuj>>idruga;
            pierwsza = czyPierwsza(ipierwsza);
            druga = czyPierwsza(idruga);
			if(pierwsza && druga) break;
        }
        if(pierwsza && druga) cout<<"TAK";
        else cout<<"NIE";
     }