0546 - Afisare0: Difference between revisions
No edit summary |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
== Date de ieșire == | == Date de ieșire == | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: | Dacă datele sunt introduse corect, pe ecran se va afișa: | ||
"Datele | "Datele sunt introduse corect.", iar pe rând nou elementele cerute, separate prin exact un spațiu, în ordinea din vector. În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.". | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
Line 36: | Line 36: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# | # 0546 - Afisare0 | ||
def afisare_elemente_multiple_cu_ultimul_element(vector, n): | def afisare_elemente_multiple_cu_ultimul_element(vector, n): | ||
Line 44: | Line 44: | ||
def citire_conform_restrictiilor(): | def citire_conform_restrictiilor(vector, n): | ||
if n < 1 or n > 1000: | if n < 1 or n > 1000: | ||
print("Datele nu corespund restricțiilor impuse.") | print("Datele nu corespund restricțiilor impuse.") | ||
exit() | exit() | ||
for x in vector: | for x in vector: | ||
if x >= 1000000: | if x >= 1000000: | ||
Line 58: | Line 56: | ||
exit() | exit() | ||
print("Datele sunt introduse corect.") | print("Datele sunt introduse corect.") | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
vector, | n = int(input()) | ||
vector = list(map(int, input().split())) | |||
citire_conform_restrictiilor(vector, n) | |||
afisare_elemente_multiple_cu_ultimul_element(vector, n) | afisare_elemente_multiple_cu_ultimul_element(vector, n) | ||
Line 70: | Line 69: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicație rezolvare == | |||
Programul de mai sus conține două funcții, funcția '''afisare_elemente_multiple_cu_ultimul_element(vector, n)''' și funcția '''citire_conform_restrictiilor(vector, n)''', care sunt rulate în main ('''if __name__ == '__main__' ''', linia 23) după citirea numărului '''n''' și cele '''n''' numere care vor forma un șir numit vector.<br> După citire se apelează funcția '''citire_conform_restrictiilor(vector, n)''', care primește două argumente: un vector și lungimea sa, reprezentată de variabila „n”. Funcția verifică dacă lungimea vectorului respectă restricțiile impuse: între 1 și 1000. Dacă vectorul este mai lung sau mai scurt decât acest interval, funcția afișează un mesajul de eroare și oprește executarea programului folosind funcția "exit()". De asemenea, funcția verifică dacă elementele vectorului sunt mai mici decât 1.000.000 și dacă ultimul element al vectorului este diferit de zero. Dacă una dintre aceste condiții nu este îndeplinită, funcția afișează un mesajul de eroare și oprește executarea programului. Dacă toate restricțiile sunt respectate, funcția afișează un mesajul „Datele sunt introduse corect.”.<br> Apoi, după terminarea funcției citire_conform_restrictiilor(vector, n) (caz în care datele sunt introduse corect), se apelează funcția '''afisare_elemente_multiple_cu_ultimul_element(vector, n)''', care primește două argumente: un vector și lungimea sa, reprezentată de variabila "n". Funcția parcurge vectorul folosind o buclă "for" și afișează numerele care sunt divizibile cu ultimul element al vectorului. Funcția folosește operatorul "%" pentru a verifica dacă un număr este divizibil cu ultimul element. Dacă numărul este divizibil, acesta este afișat pe ecran folosind funcția "print" și separatorul " ". În acest fel, toate elementele sunt verificate, și se va afișa rezultatul dorit! |
Latest revision as of 19:19, 8 April 2023
Sursa: - Afisare0
Cerinţa[edit | edit source]
Se citește un vector cu n elemente, numere naturale. Să se afișeze elementele din vector care sunt multipli ai ultimului element.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", iar pe rând nou elementele cerute, separate prin exact un spațiu, în ordinea din vector. În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări[edit | edit source]
- 1 ⩽ n ⩽ 1.000
- elementele vectorului vor fi mai mici decât 1.000.000
- ultimul element al vectorului este nenul
Exemple[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- 5
- 7 4 9 6 2
- Ieșire
- Datele sunt introduse corect.
- 4 6 2
Exemplul 2[edit | edit source]
- Intrare
- 4
- 1234542 4 2 1
- Ieșire
- Datele nu corespund restricțiilor impuse.
Exemplul 3[edit | edit source]
- Intrare
- 4
- 6 4 2 0
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 0546 - Afisare0
def afisare_elemente_multiple_cu_ultimul_element(vector, n):
for i in range(n): if vector[i] % vector[n - 1] == 0: print(vector[i], end=" ")
def citire_conform_restrictiilor(vector, n):
if n < 1 or n > 1000: print("Datele nu corespund restricțiilor impuse.") exit() for x in vector: if x >= 1000000: print("Datele nu corespund restricțiilor impuse.") exit() if vector[n - 1] == 0: print("Datele nu corespund restricțiilor impuse.") exit() print("Datele sunt introduse corect.")
if __name__ == '__main__':
n = int(input()) vector = list(map(int, input().split())) citire_conform_restrictiilor(vector, n) afisare_elemente_multiple_cu_ultimul_element(vector, n)
</syntaxhighlight>
Explicație rezolvare[edit | edit source]
Programul de mai sus conține două funcții, funcția afisare_elemente_multiple_cu_ultimul_element(vector, n) și funcția citire_conform_restrictiilor(vector, n), care sunt rulate în main (if __name__ == '__main__' , linia 23) după citirea numărului n și cele n numere care vor forma un șir numit vector.
După citire se apelează funcția citire_conform_restrictiilor(vector, n), care primește două argumente: un vector și lungimea sa, reprezentată de variabila „n”. Funcția verifică dacă lungimea vectorului respectă restricțiile impuse: între 1 și 1000. Dacă vectorul este mai lung sau mai scurt decât acest interval, funcția afișează un mesajul de eroare și oprește executarea programului folosind funcția "exit()". De asemenea, funcția verifică dacă elementele vectorului sunt mai mici decât 1.000.000 și dacă ultimul element al vectorului este diferit de zero. Dacă una dintre aceste condiții nu este îndeplinită, funcția afișează un mesajul de eroare și oprește executarea programului. Dacă toate restricțiile sunt respectate, funcția afișează un mesajul „Datele sunt introduse corect.”.
Apoi, după terminarea funcției citire_conform_restrictiilor(vector, n) (caz în care datele sunt introduse corect), se apelează funcția afisare_elemente_multiple_cu_ultimul_element(vector, n), care primește două argumente: un vector și lungimea sa, reprezentată de variabila "n". Funcția parcurge vectorul folosind o buclă "for" și afișează numerele care sunt divizibile cu ultimul element al vectorului. Funcția folosește operatorul "%" pentru a verifica dacă un număr este divizibil cu ultimul element. Dacă numărul este divizibil, acesta este afișat pe ecran folosind funcția "print" și separatorul " ". În acest fel, toate elementele sunt verificate, și se va afișa rezultatul dorit!