Informatică, întrebare adresată de ModFriendly, 8 ani în urmă

Cerinţa

Se citește un număr natural n. Să se determine numărul de divizori ai oglinditului lui n.


Date de intrare

Programul citește de la tastatură numărul n.


Date de ieşire

Programul afișează pe ecran numărul D, reprezentând rezultatul cerut.


Restricţii şi precizări

1 ≤ n ≤ 1.000.000.000


Exemplu

Intrare


63

Ieșire


9

Explicație

Oglinditul lui 63 este 36, care are 9 divizori.




Răspunsuri la întrebare

Răspuns de andyalexandru2oy0r8e
4

Răspuns:

#include <iostream>

using namespace std;

int main() {

int n,ogl=0,c=0;

cin>>n;

while(n) {

ogl=ogl*10+n%10;

n/=10;}

for(int d=1;d<=ogl;d++)

if(ogl%d==0) c++;

cout<<"Numărul de divizori este :"<<c;

return 0;}


ModFriendly: Nu e corecta varianta ta...
ModFriendly: nu ai adaugat la c pe 1 si n si chiar si daca ar fi corect, timpul de rulare ar fi prea mare pentru numere mari
ModFriendly: Mersi oricum. Daca poti modifica, te rog...
ModFriendly: Intr-un final i-am dat de capat. Mersi!
Răspuns de aledan12
3

Salut!

#include <iostream>

using namespace std;

int n,c,x=1,p=0;

int main()

{

   cout<<"n=";

   cin>>n;

   while (n>0)

   {

       c=n%10;

       n=n/10;

       p=p*10+c;

   }

   cout<<"p="<<p<<endl;

   for(int i=1;i<=p/2;i++)

       if(p%i==0)

       {

           x=x+1;

       }

   cout<<"x="<<x<<endl;

   return 0;

}

Acest program iasa, l-am testat eu.

Succes!


ModFriendly: Mersi!
Alte întrebări interesante