Probleme cu cifrele lui n nr natural


1. Afisati cifrele lui n numar natural. Scrieti algoritmul in pseudocod
2. Suma cifrelor lui n numar natural
3. Cifra maxima a lui n numar natural
4. Cifra minima alui n numar natural
5. Inversul lui n numar natural
6. Suma cifrelor pare ale lui n numar natural

1. Cifrele [0,9]={0,1,2,3,4,5….,9}
Ex. N=123 afiseaza 1,2,3 sau 3,2,1
Mod returna restul impartirii
DIV returna catul impartirii
123 MOD 10=3 => ULIMA CIFRA A LUI N
123 DIV 10=12 => catul impartirii/ numarul fara ultima cifra
c← n mod 10 ←-n div 10
Obs :Cifrele lui n se obtin de la unitati catre cifrele cele mai semnificative(D-S)
Ex n=7361
Cifrele 1, 6,3,7
numarul cifra
4269 9
426 6
42 2
4 4
0

Cat timp (n>0) executa
Obtin o cifra
Prelucrez cifra
Obtinem nou nr
Sfarsit Cat timp Cat timp(n>0)executa
c←n Mod 10
Scrie c
n←n Div 10
Sf cat timp N=725
*725>0 da
C=5 scrie 5
N=72
*72>0 da
C=2 scrie 2
N=7
*7>0 da
C=7 scrie 7
N=0
*0>0 nu
1) DI n
DE c
DA –
2) intreg n,c
3) citeste n
4) Cat timp(n>0)executa
c←n Mod 10
Scrie c
n←n Div 10
Sf cat timp
Dau 100 pct si coroana. Multumesc!

Răspuns :

1

citeste n

repeta

scrie n%10

n<-n/10

pana cand n=0

2

citeste n

s<-0

repeta

s<-s+n%10

n<-n/10

pana cand n=0

scrie s

3

citeste n

max<- -1

repeta

daca n%10>max atunci

max<-n%10

n<-n/10

pana cand n=0

scrie max

4

citeste n

min<-10

repeta

daca n%10<min atunci

min<-n%10

n<-n/10

pana cand n=0

scrie min

5

citeste n

nn<-0

repeta

nn<-nn*10+n%10

n<-n/10

pana cand n=0

scrie nn

6

citeste n

s<-0

repeta

daca (n%10)%2=0 atunci

s<s+n%10

n<-n/10

pana cand n=0

scrie s