0030 - AfisareMultipli

From Bitnami MediaWiki

Cerință

Scrieți definiția completă a funcției Python sub care primește doi parametri n și k și determină afișarea pe ecran, în ordine descrescătoare, a primelor n numere naturale nenule divizibile cu k.


Restricții de precizări

  • numele funcției va fi sub
  • funcția va avea exact doi parametri, în ordinea: n, respectiv k
  • 0 < n ≤ 50, 0 < k ≤ 20
  • cele n numere vor fi afișate pe aceeași linie, separate prin câte un spațiu


Exemplu

Dacă n = 3 și k = 5, apelul subprogramului va afișa pe ecran: 15 10 5

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

<syntaxhighlight lang="python" line="1" start="1">

  1. Definim funcția sub care primește doi parametri n și k
  2. și afișează primele n numere divizibile cu k în ordine descrescătoare.

def sub(n, k):

   i = k * n
   while n > 0:
       print(i, end=' ')
       i -= k
       n -= 1
  1. Program principal

if __name__ == '__main__':

   # Citim valorile n și k de la tastatură
   n = int(input("Introduceți numărul de elemente: "))
   k = int(input("Introduceți divizorul: "))
   
   # Verificăm restricțiile impuse în cerință
   if n <= 0 or n > 50:
       print("Eroare: n trebuie să fie între 1 și 50.")
   elif k <= 0 or k > 20:
       print("Eroare: k trebuie să fie între 1 și 20.")
   else:
       # Apelăm funcția sub și afișăm rezultatul
       print("Datele de intrare sunt corecte.")
       sub(n, k) 

</syntaxhighlight>