0905 - DetCifre
Cerință
Să se scrie o funcție Python care să determine prima și ultima cifră a unui număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieşire.
Restricții de precizări
- Numele funcției va fi detcifre
- Funcția va avea trei parametri: primul parametru reprezintă numărul n pentru care se calculează cifrele cerute,al doilea parametru va reprezenta suma cifrelor pare ale lui n, iar al treilea va reprezenta suma cifrelor impare ale lui n
- n va fi număr natural mai mic decât 2.000.000.000
Exemplul 1
- Dupa apelul
- detcifre(170 , p ,u);
- Ieșire
- p va avea valoarea 1, iar u va avea valoarea 0.
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1">
def detcifre(n, p, u):
if n >= 2000000000: print("Numarul trebuie sa fie mai mic decat 2.000.000.000") return p = n % 10 # prima cifra este restul impartirii lui n la 10 while n >= 10: n //= 10 # eliminam ultima cifra u = n # ultima cifra este cifra ramasa return p, u
def main():
n = 170 p, u = None, None detcifre(n, p, u) print(f"Prima cifra a lui {n} este {p}") print(f"Ultima cifra a lui {n} este {u}")
if __name__ == '__main__':
main()
</syntaxhighlight>