2752 - Cifre Zecimale

From Bitnami MediaWiki

Cerință

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

Programul citește de la tastatură numărul k.

Date de ieșire

Programul va afișa pe ecran valoarea C, reprezentând cifra situată pe poziția k în șir de mai sus.

Restricții de precizări

  • 1 ⩽ k ⩽ 180

Exemplul 1

Intrare
5
Ieșire
Datele introduse corespund restricțiilor impuse.
1

Rezolvare

Rezolvare vers. 1

<syntaxhighlight lang="python" line="1" start="1"> def validare(k):

   return k.isdigit() and 1 <= int(k) <= 180


def cifre_zecimale(k):

   start_num = 10
   end_num = 99
   num_count = end_num - start_num + 1
   digit_count = num_count * 2
   digit_index = k - 1
   num_index = digit_index // 2
   is_tens_digit = digit_index % 2 == 0
   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>