1002 - Paginare: Difference between revisions

From Bitnami MediaWiki
No edit summary
Line 6: Line 6:
Programul va afișa pe ecran numerele '''V P''', separate prin exact un spaţiu, sau mesajul IMPOSIBIL.
Programul va afișa pe ecran numerele '''V P''', separate prin exact un spaţiu, sau mesajul IMPOSIBIL.
== Restricții de precizări ==
== Restricții de precizări ==
*1 ⩽ '''n'''  ⩽ 100000
*1 ⩽ '''n'''  ⩽ 1000000000
*numărătoarea paginilor începe de la 1
*numărătoarea paginilor începe de la 1
== Exemplul 1==
== Exemplul 1==
; Intrare
; Intrare

Revision as of 14:01, 19 March 2023

Cerință

Pentru numerotarea paginilor unei serii enciclopedice formate din unul sau mai multe volume se presupune că se folosesc n cifre. Fiecare volum are 300 de pagini, eventual cu excepţia ultimului volum care ar putea avea mai puţine. Pentru n dat, să se determine numărul de volume din serie V şi numărul de pagini P ale ultimului volum. Dacă nu este posibilă numerotarea paginilor folosind n cifre, se va afişa mesajul IMPOSIBIL.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran numerele V P, separate prin exact un spaţiu, sau mesajul IMPOSIBIL.

Restricții de precizări

  • 1 ⩽ n ⩽ 1000000000
  • numărătoarea paginilor începe de la 1

Exemplul 1

Intrare
999
Ieșire
Datele introduse corespund restricțiilor impuse.
2
105

Exemplul 2

Intrare
900
Ieșire
Datele introduse corespund restricțiilor impuse.
IMPOSIBIL

Rezolvarea ver. 1

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

   return n.isdigit() and 1 <= int(n) <= 100000

def paginare(n):

   max_pagini = 10**n - 1
   if max_pagini < 300:
       print("IMPOSIBIL")
   else:
       V = max_pagini // 300
       P = max_pagini % 300
   if P == 0:
       P = 300
   print("Numarul de volume este:", V)
   print("Numarul de pagini ale ultimului volum este:", P)


if __name__ == '__main__':

   n = int(input("Introduceti numarul de cifre: "))

if validare(n):

   n = int(n)
   print("Datele introduse corespund restricțiilor impuse.")
   paginare(n)

else:

   print("Datele introduse nu corespund restricțiilor impuse.")

</syntaxhighlight>