Pascalan hogyan lehet megszámolni egy szám számjegyeit?
Két módszer is van. Az első az, hogy megszámolod, hogy hányszor kell 10-el osztani, hogy 0-t kapj:
Function jegyek(x: LongInt): Byte;
Var
n: LongInt;
s: Byte;
Begin
If x=0 Then
jegyek:=1
Else
Begin
s:=0;
n:=x;
While n<>0 Do
Begin
s:=s+1;
n:=Trunc(n/10);
End;
jegyek:=s;
End;
End;
A második pedig logaritmusazonosságok alapján megy:
Function jegyek(x: LongInt): Byte;
Begin
If x=0 Then
jegyek:=1
Else
jegyek:=Round(Ln(x)/Ln(10));
End;
Akkor még én a két módszer mellé irnék egy harmadikat is :
Átalakitod szöveggé a számot, és megnézed a szöveg hosszát :
str (x,s);
writeln (len (s));
ahol x a szám és s egy string változó.
Sok sikert.
Üdv.
Ha negativ számok is játszanak, akkor egyszerübb a szám abszolult értékét átalakitani szöveggé, igy nem kell feltételhez kötni :
str (abs (x),s);
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!