fork download
  1. def isPrime(n):
  2. if n==1:
  3. return False
  4. if n <=3:
  5. return True
  6. if n%2==0:
  7. return False
  8. for i in range(3,n//2+1,2):
  9. if n%i==0:
  10. return False
  11. return True
  12.  
  13. def isPal(n):
  14. if (n<10):
  15. return True
  16. nn=n
  17. m=0
  18. while(nn>0):
  19. k=nn%10
  20. m=m*10+k
  21. nn=nn//10
  22. if m==n:
  23. return True
  24. else:
  25. return False
  26.  
  27. def isPow2(n):
  28. if (n==0):
  29. return False
  30. if (n==1):
  31. return True
  32. if (n%2==0):
  33. return isPow2(n//2)
  34. else:
  35. return False
  36.  
  37. def check_pin(pin):
  38. c=pin.split('-')
  39. if isPrime(int(c[0])) & isPal(int(c[1])) & isPow2(int(c[2])):
  40. return "Корректен"
  41. else:
  42. return "Некорректен"
  43.  
  44. print(check_pin('7-101-4'))
  45. print(check_pin('12-22-16'))
  46.  
  47.  
Success #stdin #stdout 0.02s 27704KB
stdin
Standard input is empty
stdout
Корректен
Некорректен