Imi poate cineva explica acest algoritm? E pentru permutarea circulara spre stanga a cifrelor unui numar. Adica daca n=1372, programul va afisa 3721.
int Perm(int n )
{
int i , p = 1;
int x = n;
while ( x > 9 )
{
x = x/10;
p = p * 10;
}
n = n%p*10 + x;
return n;
}
Nu inteleg cum functioneaza n = n%p*10 + x; Daca luam dupa exemplul dat, ar veni 1372%10000 + 1 adica 1? si dupa??
Răspunsuri la întrebare
Răspuns de
1
Daca luam exemplul de mai sus avem n=1372 urmarind algoritmul vom avea:
1) dupa rularea ciclului while x va avea valoarea 1 iar p valoarea 1000 pentru ca se executa cat timp x>9,adica pana ajunge sa aiba o singura cifra.
2) n= n % p * 10 + x => n = 1372 % 1000 * 10 + 1 => n = 372 * 10 + 1 =>
n = 3720 + 1 = 3721
Sper ca ai inteles :D
1) dupa rularea ciclului while x va avea valoarea 1 iar p valoarea 1000 pentru ca se executa cat timp x>9,adica pana ajunge sa aiba o singura cifra.
2) n= n % p * 10 + x => n = 1372 % 1000 * 10 + 1 => n = 372 * 10 + 1 =>
n = 3720 + 1 = 3721
Sper ca ai inteles :D
Alte întrebări interesante
Ed. tehnologică,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Franceza,
9 ani în urmă