2752 - Cifre Zecimale
Cerință[edit | edit source]
Se consideră șirul de cifre zecimale obținut prin scrierea consecutivă a numerelor naturale de la 10 la 99. Pentru un k dat, să se afișeze cifra ce apare în acest șir pe poziția k.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul k.
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 va afișa pe ecran valoarea C, reprezentând cifra situată pe poziția k în șir de mai sus. Î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]
- 1 ⩽ k ⩽ 180
Exemplul 1[edit | edit source]
- Intrare
- 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1
Rezolvare[edit | edit source]
Rezolvare vers. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(k):
return k.isdigit() and 1 <= int(k) <= 180
def cifre_zecimale(k): #căutăm o cifră zecimală de pe poz k din intervalul 10-99
start_num = 10 end_num = 99 num_count = end_num - start_num + 1 #contorizăm numărul digit_count = num_count * 2 digit_index = k - 1 #calculăm poziția cifrei căutate num_index = digit_index // 2 is_tens_digit = digit_index % 2 == 0
- aflăm dacă cifra căutată este cifra zecilor sau a unităților
if is_tens_digit: digit = (start_num + num_index) // 10 else: digit = (start_num + num_index) % 10 print(digit)
if __name__ == '__main__':
k = input("Introduceti numarul k: ")
if validare(k): k = int(k) print("Datele introduse corespund restricțiilor impuse.") cifre_zecimale(k) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>