Liczby super pierwsze
Kod był wyświetlany 962 razy.
    /*
	Name: Liczba super pierwsza
	Copyright: GPL GNU
	Author: Amadeusz Wach
	Date: 30-09-13 18:42
	Description: 
*/

#include <iostream>
#include<stdlib.h>
#include <cmath>

using namespace std;

//Funckja sprawdza czy liczba jest liczbą pierwszą
bool isPrime(string liczba){
     //Zmiana typu liczby ze string na int
     int n = atoi(liczba.c_str());
     if(n != 2){
          if(n%2 == 0) return false;
          
          int licznik = 3;
          for(int i = 3; i <= sqrt(n); i+= 2){
              if( n % i == 0 ) return false;    
          }
          
          
     }else return true;
     return true;
}
bool isPrimeForInt(int liczba){
     //Zmiana typu liczby ze string na int
     
     if(liczba != 2){
          if(liczba%2 == 0) return false;
          
          int licznik = 3;
          for(int i = 3; i <= sqrt(liczba); i+= 2){
              if( liczba % i == 0 ) return false;    
          }
          
          
     }else return true;
     return true;
}

bool isNumberSumPrime(string liczba){
     int tmpSuma = 0;
     for(int i = 0; i < liczba.size(); i++){
            int tmpLiczba = atoi(liczba.substr(i,1).c_str());
            tmpSuma += tmpLiczba;
             
     }
     
     return isPrimeForInt(tmpSuma);
     
}
int main(){
    
    string liczba;
    
    cin >> liczba; // wczytujemy liczbę
    
    if(isPrime(liczba)){
                        if(isNumberSumPrime(liczba)){cout << "Liczba jest liczba superpierwsza" << endl;}else{cout << "Suma cyfr podanych liczb nie jest liczba parzysta" << endl;}
    }else{cout << "Podana liczba nie jest liczbą pierwszą" << endl;}                   
    
    
    system("pause");
    return 0;
}    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT