Buna!
Secventa asta de cod cuantifica numarul de divizori ai unui element de sir. Nu inteleg deloc cum functioneaza, imi explica cineva?
#include
using namespace std;
ifstream fin("sortare_divizori.in");
ofstream fout("sortare_divizori.out");
int v[1000],div_v[1000],n;
int main()
{
int i,j;
fin>>n;
for(i=0;i
{
fin>>v[i];
int x=v[i];
int exp=0;
while(x%2==0)
{
exp++;
x/=2;
}
int nr_div=exp+1;
int d=3;
while(d*d<=x)
{
exp=0;
while(x%d==0)
{
exp++;
x/=d;
}
nr_div*=(exp+1);
d+=2;
}
if(x!=1)
nr_div*=2;
div_v[i]=nr_div;
}
Răspunsuri la întrebare
Răspuns de
0
Este o formula care spune ca fiecare exponent al fiecarui numar prim din descompunerea numarului +1 este da numarul de divizori
18= 2 ^ 1 * 3^2
deci, exponentii sunt 1 si 2
nrdiv=(1+1)*(2+1)=6
Alte întrebări interesante
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Ed. muzicală,
9 ani în urmă
Franceza,
9 ani în urmă