0906 - SumaCifre: Difference between revisions
Cuceu Andrei (talk | contribs) Pagină nouă: ==Cerință== Să se scrie o funcție Python care să determine suma cifrelor pare și suma cifrelor impare pentru un 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 '''sumcif''' :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 al... |
Cuceu Andrei (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
==Restricții de precizări== | ==Restricții de precizări== | ||
:Numele funcției va fi '''sumcif''' | :Numele funcției va fi '''sumcif''' | ||
:Funcția va avea trei parametri: primul parametru reprezintă numărul '''n''' pentru care se calculează cifrele cerute | :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''' | : '''n''' va fi număr natural mai mic decât ''' 2.000.000.000''' | ||
Revision as of 18:35, 19 March 2023
Cerință
Să se scrie o funcție Python care să determine suma cifrelor pare și suma cifrelor impare pentru un 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 sumcif
- 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
- sumcif(274 , s , t);
- Ieșire
- s va avea valoarea 6, iar t va avea valoarea 7.
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 sumcif(n, sum_pare, sum_impare):
if n >= 2000000000: print("Eroare: n trebuie să fie mai mic decât 2.000.000.000") return sum_pare = 0 sum_impare = 0 while n > 0: cifra = n % 10 if cifra % 2 == 0: sum_pare += cifra else: sum_impare += cifra n //= 10 print("Suma cifrelor pare ale lui", n, "este:", sum_pare) print("Suma cifrelor impare ale lui", n, "este:", sum_impare)
def main():
n = int(input("Introduceți un număr natural: ")) sum_pare = 0 sum_impare = 0 sumcif(n, sum_pare, sum_impare)
if __name__ == "__main__":
main()
</syntaxhighlight>