Advertisement
Guest User

MinB-PrimzahlenDzensyy

a guest
Apr 25th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. long readNumber();
  5. long isPrime(long num);
  6. void primeFactors(long zahl);
  7.  
  8. int main()
  9.     {
  10.         long x;
  11.         long y;
  12.         char yesno;
  13.  
  14.         do
  15.         {
  16.         x = readNumber();
  17.         printf("\nX: %ld", x);
  18.  
  19.         y = isPrime(x);
  20.         printf("\nPrimzahl: %ld\n", y);
  21.  
  22.         primeFactors(x);
  23.  
  24.         printf("\nNochmal?: ");
  25.         scanf("%c", &yesno);
  26.         yesno = getchar();
  27.         }
  28.         while (yesno == 'y');
  29.         return 0;
  30.     }
  31.  
  32. long readNumber()
  33.     {
  34.         long a;
  35.         printf("Geben Sie eine ganze Zahl ein: ");
  36.         scanf("%ld", &a);
  37.         return a;
  38.     }
  39.  
  40. long isPrime(long num)
  41.     {
  42.         int i;
  43.  
  44.         for(i = 2; i*i<=num; i++)
  45.  
  46.         if(!(num%i))
  47.         {
  48.             return 0; //kein Primzahl
  49.         }
  50.         else if(num<=0)
  51.         {
  52.             return -1;
  53.         }
  54.         else
  55.         {
  56.             return 1; //Primzahl
  57.         }
  58.  
  59.     }
  60.  
  61. void primeFactors(long zahl)
  62.     {
  63.         int i;
  64.  
  65.         if(isPrime(zahl))
  66.             {
  67.                 printf("\n%ld ist Primzahl.", zahl);
  68.             }
  69.         else
  70.             {
  71.                 for(i = 2; i*i<=zahl; i++)
  72.                 {    printf("%ld = ", zahl);
  73.                     if(!(zahl%2))
  74.                         {
  75.                             zahl = zahl / i;
  76.                             printf("%ld* ", i);
  77.                             i--;
  78.                         }
  79.                 }
  80.                 printf("%ld ", zahl);
  81.             }
  82.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement