Advertisement
Randomsurpriseguy

Primsummandenpaare

May 23rd, 2020
1,727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. //Standard Einführung für c++ Programme
  5.  
  6.  
  7.   bool teiltecht(int i, int a, int b){
  8.     if(i==1){
  9.        return false;
  10.     }
  11.     return (a%i==0 && a!=i) || (b%i==0 && b!=i);
  12.  
  13.   }
  14.  
  15.   int Primsummand(int n,bool Ausgabe){//gibt einen Primsummand zurück für n, anderer ist n-Rückgabe
  16.     int a,i;
  17.     bool prim=true;
  18.     a=n/2;
  19.     if(a%2==0 && a!=2) a=a-1;
  20.  
  21.  
  22.     while(a>1){
  23.       prim=true;
  24.       i=2;
  25.  
  26.       while(i<n-a){
  27.         if(teiltecht(i,a,n-a)){
  28.           prim=false;
  29.           break;
  30.         }
  31.         i++;
  32.       }
  33.       if(prim){
  34.         break;
  35.       }else{
  36.         if(a!=3){
  37.           a=a-2;
  38.         }else{
  39.           a=2;
  40.         }
  41.       }
  42.  
  43.     }
  44.     if(Ausgabe){
  45.  
  46.  
  47.       if(prim){
  48.         cout << n << " = " << a << " + " << n-a << "\n";
  49.       }else{
  50.         cout << n << " hat kein Primsummandenpaar \n";
  51.       }
  52.     }
  53.     return a;
  54.  
  55.  
  56.  
  57.  
  58.   }
  59.  
  60.   int main(){
  61.     int Zahl=52;// Hier beliebige gerade Zahl >2 einfügen
  62.     Primsummand(Zahl, true);//gibt die Primsummanden der oberen Zahl aus
  63.     Zahl=4; //erste zu prüfende Zahl
  64.     while(Zahl<=20000){
  65.       if(Primsummand(Zahl,true)==0){
  66.         cout << Zahl << " hat kein Primsummandenpaar";
  67.       }
  68.       Zahl=Zahl+2;
  69.  
  70.     }
  71.     return 1;
  72.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement