1310 - Cif Div: Difference between revisions
No edit summary |
Vardai Erwin (talk | contribs) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
Programul citește de la tastatură numerele '''n și m'''. | Programul citește de la tastatură numerele '''n și m'''. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții de precizări== | ==Restricții de precizări== | ||
*100 ⩽ '''n, m''' ⩽ 999 | *100 ⩽ '''n, m''' ⩽ 999 | ||
Line 21: | Line 22: | ||
:2 | :2 | ||
== Rezolvare ver. 1 == | == Rezolvare == | ||
=== Rezolvare ver. 1 === | |||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def | def validare(n, m): | ||
n = int( | return n.isdigit() and 100 <= int(n) <= 999 and m.isdigit() and 100 <= int(m) <= 999 | ||
count = 0 | def cif_div(n, m): #verificăm câte nr din n sunt divizibile cu m | ||
for i in range(3): | count = 0 #contorizăm nr de numere | ||
for i in range(3): #verificarea se face pentru primele 3 cifre ale lui n, de la dreapta la stânga | |||
digit = n % 10 | digit = n % 10 | ||
n //= 10 | n //= 10 | ||
if digit % m == 0: | if digit % m == 0: #dacă condițile sunt îndeplinite se mai adaugă un nr la contor | ||
count += 1 | count += 1 | ||
print( | print(f"Există {count} cifre din n care divid pe m.") | ||
if __name__ == '__main__': | |||
n = input("Introduceți primul număr: ") | |||
m = input("Introduceți al doilea număr: ") | |||
if validare(n, m): | |||
n, m = int(n), int(m) | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
cif_div(n, m) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 18:25, 22 April 2023
Cerință[edit | edit source]
Se citesc două numere naturale n și m format din trei cifre fiecare. Să se afle câte cifre din n divid pe m.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n și m.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări[edit | edit source]
- 100 ⩽ n, m ⩽ 999
Exemplul 1[edit | edit source]
- Intrare
- 600
- 273
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 2
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, m):
return n.isdigit() and 100 <= int(n) <= 999 and m.isdigit() and 100 <= int(m) <= 999
def cif_div(n, m): #verificăm câte nr din n sunt divizibile cu m
count = 0 #contorizăm nr de numere for i in range(3): #verificarea se face pentru primele 3 cifre ale lui n, de la dreapta la stânga digit = n % 10 n //= 10 if digit % m == 0: #dacă condițile sunt îndeplinite se mai adaugă un nr la contor count += 1
print(f"Există {count} cifre din n care divid pe m.")
if __name__ == '__main__':
n = input("Introduceți primul număr: ") m = input("Introduceți al doilea număr: ")
if validare(n, m): n, m = int(n), int(m) print("Datele introduse corespund restricțiilor impuse.") cif_div(n, m) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>