Advertisement
Guest User

Prim teil B

a guest
Apr 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. long readnumber();
  6. long isPrime(long num);
  7. void primeFactors(long zahl);
  8. void expandNumber(long zahl);
  9. long weiter();
  10.  
  11.  
  12. int main(){
  13. long i;
  14. int weiterrech = 1;
  15. while (weiterrech == 1){
  16. i = readnumber();
  17. long res = isPrime(i);
  18. printf("Ergebnis lautet : %ld\n",res);
  19. printf("wollen sie die faktoren? 1 für ja, 0 für nein.\n");
  20. if(weiter() == 1){
  21. primeFactors(i);
  22. }
  23. expandNumber(i);
  24. printf("\nweiter rechnen? 1 für ja, 0 für nein.");
  25. weiterrech = weiter();
  26. }
  27. return 0;
  28. }
  29.  
  30. long readnumber(){
  31. long d;
  32. printf("geben sie eine Zahl ein : ");
  33. scanf("%ld",&d);
  34. getchar();
  35. return d;
  36. }
  37.  
  38. long weiter(){
  39. long d;
  40. scanf("%ld",&d);
  41. getchar();
  42. return d;
  43. }
  44.  
  45.  
  46. long isPrime(long num) //Minimum A
  47. {
  48. long count, i;
  49. count = 0;
  50. if(num <= 0)
  51. return -1;
  52. for (i = num; i > 1; i--)
  53. {
  54. if((num%i) == 0)
  55. count = count + 1;
  56. }
  57. if(count == 1)
  58. return 1;
  59. else
  60. return 0;
  61. }
  62.  
  63. void primeFactors(long zahl)
  64. {
  65. long i;
  66. printf("%ld = ", zahl);
  67. for (i = zahl - 1; i > 1; i--)
  68. {
  69. if((zahl%i) == 0)
  70. {
  71. printf(" %ld *", (zahl/i));
  72. zahl = i;
  73. }
  74. }
  75. printf(" %ld", zahl);
  76. }
  77.  
  78. void expandNumber(long zahl){
  79. long zahl1;
  80. long zahl2;
  81. printf("\ngeben sie eine zahl ein : ");
  82. scanf("%ld",&zahl1);
  83. printf("\ngeben sie eine zahl ein : ");
  84. scanf("%ld",&zahl2);
  85.  
  86. int i = 2;
  87. int count1 = 0;
  88. for (; i < zahl1; i++){
  89. zahl =zahl1%i;
  90. if (zahl == 0){
  91. printf("die eingegebene nummer ist keine primzahl\n");
  92. break;
  93. } else {
  94. count1++;
  95. }
  96. }
  97. i = 2;
  98. int count2 = 0;
  99. for (; i < zahl2; i++){
  100. zahl=zahl2%i;
  101. if (zahl == 0){
  102. printf("die eingegebene nummer ist keine primzahl\n");
  103. break;
  104. } else {
  105. count2++;
  106. }
  107. }
  108.  
  109. if(count1 == zahl1-2 && count2 == zahl2-2){
  110. printf("%d und %d sind primzahlen.\n" , zahl1 , zahl2);
  111. int sum = zahl1 + zahl2;
  112. if(sum % 2 == 0){
  113. printf("Sum ist %d",sum);
  114.  
  115. } else {
  116. printf("Sum ist nicht gerade!");
  117.  
  118. }
  119. }
  120.  
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement