0996 - Div 3: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Cerință == | == Cerință == | ||
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale. | Pe prima linie a fişierului div3.in se află numărul '''n''', iar pe a doua linie '''n numere naturale'''. | ||
== Date de intrare == | == Date de intrare == | ||
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale. | Pe prima linie a fişierului div3.in se află numărul '''n''', iar pe a doua linie '''n numere naturale'''. | ||
== Date de ieșire == | == Date de ieșire == | ||
Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. | Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. | ||
== Restricții de precizări == | == Restricții de precizări == | ||
*1 ⩽ n ⩽ 1000 | *1 ⩽ '''n''' ⩽ 1000 | ||
*elementele şirului vor avea cel mult 9 cifre | *elementele şirului vor avea cel mult 9 cifre | ||
== Exemplul 1== | == Exemplul 1== | ||
Line 23: | Line 23: | ||
: 12 90 | : 12 90 | ||
== Rezolvare ver. 1 == | == Rezolvare ver. 1 == | ||
<syntaxhighlight lang="python" line="1" start="1"> | |||
def validare(n, numere): | |||
return all.isdigit() and 1 <= int(n), int(numere) <= 1000 | |||
def suma_cifre(n, numere): | |||
suma = 0 | |||
while n > 0: | |||
suma += n % 10 # adăugăm cifra unităţilor la suma cifrelor | |||
n //= 10 # eliminăm cifra unităţilor | |||
return suma | |||
for x in numere: # parcurgem şirul de numere | |||
if suma_cifre(x) % 3 == 0: # verificăm dacă suma cifrelor este divizibilă cu 3 | |||
print(x) # afişăm numărul dacă este divizibil cu 3 | |||
if __name__ == "__main__": | |||
n = int(input()) # citim numărul n | |||
numere = list(map(int, input().split())) # citim şirul de numere | |||
if validare(n, numere): | |||
n = int(n) | |||
numere = int(numere) | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
suma_cifre(n, numere) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Revision as of 07:04, 11 April 2023
Cerință
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale.
Date de intrare
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale.
Date de ieșire
Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu.
Restricții de precizări
- 1 ⩽ n ⩽ 1000
- elementele şirului vor avea cel mult 9 cifre
Exemplul 1
- Intrare
- 7
- 124 51 231 7 24 31 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 51 231 24
Exemplul 2
- Intrare
- 5
- 12 34 56 78 90
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 12 90
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, numere):
return all.isdigit() and 1 <= int(n), int(numere) <= 1000
def suma_cifre(n, numere):
suma = 0 while n > 0: suma += n % 10 # adăugăm cifra unităţilor la suma cifrelor n //= 10 # eliminăm cifra unităţilor return suma
for x in numere: # parcurgem şirul de numere if suma_cifre(x) % 3 == 0: # verificăm dacă suma cifrelor este divizibilă cu 3 print(x) # afişăm numărul dacă este divizibil cu 3
if __name__ == "__main__":
n = int(input()) # citim numărul n numere = list(map(int, input().split())) # citim şirul de numere
if validare(n, numere):
n = int(n) numere = int(numere)
print("Datele introduse corespund restricțiilor impuse.") suma_cifre(n, numere)
else:
print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>