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

Vinerea trecută, în liceul în care înveți, catedra de limba engleză a hotărât ca toate
clasele a IX-a să organizeze petrecerea de Halloween, elevii trebuind să se
costumeze și să aducă acadele. După ce fiecare elev își prezintă costumul în clasa
lui, trebuie timp de o oră, să-l prezinte și altor clase, primind pentru aceasta acadele
de la elevii acelei clase. Tu te-ai îmbrăcat în stafie, iar costumul tău a fost cel mai
apreciat de colegi. Doamna profesoară te-a întrebat în final pe la câte clase ai reușit
să treci ca să-ți prezinți costumul. Din păcate nu-ți mai aduci aminte, așa că o rogi să
te lase să calculezi, știind că prima clasă la care ai fost ți-a dat un număr prim cu cel
puțin două cifre de acadele, iar la ieșirea din fiecare din clasele următoare îți dublai
numărul de acadele cu care intrai în acea clasă.

Cerinţă

Scrie un program care să determine câte acadele ai primit în prima clasă în care ți-ai
prezentat costumul și pe la câte clase ai trecut.

Date de intrare

Pe prima linie a fişierului de intrare halloween.in se găsește un singur număr n
ce reprezintă numărul total de acadele primite.

Date de ieşire

Fişierul de ieşire halloween.out va conţine pe prima linie două numere naturale a
și b separate printr-un singur spațiu, unde a va reprezenta numărul prim de acadele
primite de la prima clasă, iar b numărul de clase de la care ai primit acadele.

Restricţii şi precizări

 1 ≤ n ≤ 2000000000
 elevul nu primește acadele de la colegii lui de clasă.

Exemplu

halloween.in
136
halloween.out
17 4

Răspunsuri la întrebare

Răspuns de Emil1234
0
#include <iostream>
using namespace std;
unsigned checkPrim(long n){   
  unsigned nr=0;   
  if(n==1 || n==0)       
    return 1;   
  for(int i=2;i<n;i++)         
    if(n%i==0)             
          nr++;   
  return nr;
}
int main(){   
long n,nr=1;   
cin>>n;   
while(!(n%2) && n!=2){   
  nr++;   
  n/=2;   
}   
if(checkPrim(n)==0)         
  cout<<n<<" "<<nr;   
else         
  cout<<"Nu exista un astfel de caz";   
return 0;
}

Aceasta ar fi rezolvarea, chiar daca personal, cerinta mi se pare incompleta. Deoarece unele valori pentru input nu pot genera un output. Cu ceea ce mi-ai oferit mai sus, ca detalii, aceasta este rezolvarea pe care am gandit-o.
Alte întrebări interesante