#include #include #include using namespace std; static int is_prime(int n) { int i; if (n == 2) return true; for (i = 2; i < sqrt(n) + 1; i++) if ((n % i) == 0) return false; return true; } unsigned int fermat(unsigned int a, unsigned int p,unsigned int n){ // cout << p << endl; unsigned int result; if(p==2){ result = (a*a)%n; } else if(p%2==1){ result = ((fermat(a,p-1,n)*a)%n); } else{ result = fermat(a,p/2,n); result = (result*result)%n; } // cout << result << endl; return result; } bool fermat_test(int n){ unsigned int a,f; for(int i=2;i> n; while(n!=0){ if(is_prime(n)) carmi=false; else{ carmi=fermat_test(n); } if(carmi) cout << "The number " << n << " is a Carmichael number." << endl; else cout << n << " is normal." << endl; cin >> n; } }