0909 - PermCircCif

De la Universitas MediaWiki
Versiunea din 25 martie 2023 14:01, autor: Cuceu Andrei (discuție | contribuții) (Pagină nouă: ==Cerință== Să se scrie o funcție Python care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat. ==Restricții de precizări== *numele funcției va fi '''perm''' *funcția va avea un singur parametru,''' n''' *parametrul '''n''' va fi un număr natural nenul mai mic decât '''1.000.000.000''' ==Exemplu== ===Exemplul 1=== ; Dacă '''n = 1372...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

Cerință

Să se scrie o funcție Python care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat.

Restricții de precizări

  • numele funcției va fi perm
  • funcția va avea un singur parametru, n
  • parametrul n va fi un număr natural nenul mai mic decât 1.000.000.000

Exemplu

Exemplul 1

Dacă n = 1372, după apelul funcției perm, valoarea lui n va fi 3721.

Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

def perm(n):
    if n < 10:
        return n
    
    cifre = [int(digit) for digit in str(n)]
    cifre.append(cifre.pop(0))
    
    return int(''.join(map(str, cifre)))
    
if __name__ == '__main__':
    while True:
        try:
            n = int(input())
            if n < 1 or n >= 1000000000:
                continue
            break
        except ValueError:
            continue
    
    print(perm(n))