1290 - CifreGen3
Cerința[edit | edit source]
Se dau două numere n m. Să se genereze toate numerele cu exact n cifre mai mici decât m cu proprietatea că prima și ultima cifră sunt egale.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n m.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numerele generate, câte unul pe linie, în ordine crescătoare.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 7
- 0 < m < 6
Exemplu 1[edit | edit source]
- Intrare
3 3
- Iesire
101
111
121
202
212
222
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def generate_numbers(n, m):
numbers = [] for i in range(10**(n-1), 10**n): num_str = str(i) if num_str[0] == num_str[-1] and all(int(digit) < m for digit in num_str): numbers.append(num_str) return numbers
def read_input():
n, m = map(int, input("Enter n and m: ").split()) if not (1 <= n <= 7): raise ValueError("1 ≤ n ≤ 7") if not (0 < m < 6): raise ValueError("0 < m < 6") return n, m
def main():
try: n, m = read_input() numbers = generate_numbers(n, m) for num in numbers: print(num) except ValueError as e: print("Error:", e)
if __name__ == '__main__':
main()
</syntaxhighlight>