Advertisement
Nairo05

Hausaufgabe Primzahlen

Jan 16th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. #------------------------------------------
  2. #Aufgabe 1
  3. def isGerade(n):
  4.     if((n%2)==0):
  5.         return True
  6.     return False
  7.  
  8.  
  9. #---------------------------------------------------------
  10. #Aufgabe 2
  11. #1. versuch
  12. def prim(n):
  13.     counter = 0
  14.     for i in range(1,n+1):
  15.         if ((n % i)==0):
  16.             counter +=1
  17.     if (counter > 2):
  18.         return False
  19.     return True
  20.  
  21. #gekürtzt
  22. def isPrim(n):
  23.     for i in range(2,n):
  24.         if ((n % i)==0):
  25.             return False
  26.     return True
  27.  
  28.  
  29. #-----------------------------------------------------------
  30. #Aufgabe 3
  31. def prim(n):
  32.     counter = 0
  33.     prims = []
  34.     for i in range(n, 0, -1):
  35.         if(isPrim(i)):
  36.             counter +=1
  37.             prims.append(i)
  38.     print("Es liegen ",counter," Primzahlen unter ",n)
  39.     print("Diese sind:")
  40.     return prims
  41.  
  42. def prime(n):
  43.     counter = 0
  44.     prims = []
  45.     for i in range(n, 0, -1):
  46.         if(isPrim(i)):
  47.             counter +=1
  48.             prims.append(i)
  49.     return prims
  50.  
  51. #-------------------------------------------------------------
  52. #Aufgabe 4
  53. #eine Zerlegung (größt mögliche)
  54. def zerlegung(n):
  55.     if (isGerade(n)):
  56.         possiblenumbers = prime(n)
  57.         sint = 0
  58.         prims = []
  59.         while(sint != n):
  60.             for i in range(0, len(possiblenumbers)):
  61.                 if (sint+possiblenumbers[i] <= n):
  62.                     sint = sint + possiblenumbers[i]
  63.                     prims.append(possiblenumbers[i])
  64.         print("Mann kann 22 in ",prims," zerlegen")
  65.     else:
  66.         print("Es muss eine gerade Zahl sein")
  67.  
  68.  
  69. def zerlegungen(n):
  70.     if (isGerade(n)):
  71.             possiblenumbers = prime(n)
  72.             sint = 0
  73.             prims = []
  74.             while(True):
  75.                 while(sint != n):
  76.                     for i in range(0, len(possiblenumbers)):
  77.                         if (sint+possiblenumbers[i] <= n):
  78.                             sint = sint + possiblenumbers[i]
  79.                             prims.append(possiblenumbers[i])
  80.                 if(len(prims) == 3):
  81.                     return
  82.                 else:
  83.                     print("Mann kann", n
  84.                           ," in ",prims," zerlegen")
  85.                     possiblenumbers.remove(possiblenumbers[0])
  86.                     sint = 0
  87.                     prims = []
  88.     else:
  89.         print("Es muss eine gerade Zahl sein")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement