Informatică, întrebare adresată de marianarengle, 9 ani în urmă

Se da n.Sa se verifice daca n este format numai din cifre prime.

Răspunsuri la întrebare

Răspuns de antonii
0
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int GetSize(int Nr);
int GetNrByPlace(int Nr,int Loc);
bool CheckPrime(int Nr);

int main(){
       int n=0;
       bool OnlyPrimes=true;

       cin>>n;
       for(int x=1;x<=getSize(n);x++){
              if(!CheckPrime(GetNrByPlace(n,x))) OnlyPrimes=false;
       }
       cout<<OnlyPrimes;
       system("pause"); 
       return 0;
}

int GetSize(int Nr){ 
    int Size=0; 
     while(Nr!=0){ 
          Size++; Nr/=10; 
    }
 return Size;
}

int GetNrByPlace(int Nr,int Loc){
      int Count=0; 
      while(Nr!=0){ 
          Count++; 
           if(Count==Loc) {
                 return Nr%10;
                  continue;
            } 
       Nr/=10;
    }
}

bool CheckPrime(int Nr){
        bool IsPrime=true;
        if(Nr!=2){
                 if(Nr%2!=0){
                       for(int x=3;x<=sqrt((double)Nr);x+=2){
                                 if(Nr%x==0) IsPrime=false;
                       }
                       return IsPrime;
                 }else{
                        return false;
                  }
         }else{
             return true;
        }
}
Răspuns de CRG
0
#include <iostream>

using namespace std;

int main()
{
    int n, ok = 1;
    cin >> n;
    while(n > 0) {
        int ucif = n % 10;
        if(ucif != 2 and ucif != 3 and ucif != 5 and ucif != 7)
            ok = 0;
        n /= 10;
    }
    if(ok)
        cout << "da";
    else
        cout << "nu";
    return 0;
}


Alte întrebări interesante