2752 - Cifre Zecimale: Difference between revisions

From Bitnami MediaWiki
No edit summary
Tag: visualeditor
Line 14: Line 14:
: 1
: 1


== Rezolvare vers. 1 ==
==Rezolvare==
=== Rezolvare vers. 1 ===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(k):
def validare(k):
     return k.isdigit() and 1 <= int(k) <= 180
     return k.isdigit() and 1 <= int(k) <= 180


def cifre_zecimale(k):
def cifre_zecimale(k):
     if k <= 9:
     start_num = 10
         C = k
    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:
     else:
   
         digit = (start_num + num_index) % 10
         i = (k - 10) // 10 
     print(digit)
        r = (k - 10) % 10
        zecime = 10 + i
        C = int(str(zecime)[r])
   
     print("Cifra cautata este:", C)




if __name__ == '__main__':
if __name__ == '__main__':
     k = int(input("Introduceti numarul k: "))
     k = input("Introduceti numarul k: ")


if validare(k):
    if validare(k):
    k = int(k)
        k = int(k)
    print("Datele introduse corespund restricțiilor impuse.")
        print("Datele introduse corespund restricțiilor impuse.")
    cifre_zecimale(k)
        cifre_zecimale(k)
else:
    else:
    print("Datele introduse nu corespund restricțiilor impuse.")
        print("Datele introduse nu corespund restricțiilor impuse.")


</syntaxhighlight>
</syntaxhighlight>

Revision as of 13:56, 19 March 2023

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>