Informatică, întrebare adresată de tuffi, 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.



Va rog frumos, sa rezolve cineva cu cât timp, așa cum se face la școală DAU CORONIȚĂ!!!

Răspunsuri la întrebare

Răspuns de raulardelean10
0

Răspuns:

#include <bits/stdc++.h>

using namespace std;

int main()

{

long long n,ogl=0;

cin>>n;

while(n)

{

ogl=ogl*10+n%10;

n/=10;

}

long long nrdivi=1,divi=2;

while(ogl>1)

{

int p=0;

while(ogl%divi==0)

ogl/=divi,p++;

if(p)

nrdivi*=(p+1);

divi++;

if(divi*divi>ogl)

divi=ogl;

}

cout<<nrdivi;

return 0;

}

Alte întrebări interesante