Informatică, întrebare adresată de labadeurs6, 8 ani în urmă

Doi copii vopsesc un gard alcătuit din n scânduri pe care le vom numerota de la 1 la n astfel: primul ia o cutie de vopsea roşie cu care vopseşte scândurile cu numărul p, 2p, 3p, etc. Al doilea procedează la fel, începe de la acelaşi capăt al gardului, dar ia o cutie de vopsea albastră şi vopseşte din q în q scânduri. Astfel, când vor termina de vopsit, gardul va avea multe scânduri nevopsite, unele scânduri vopsite în roşu, altele în albastru, iar altele în violet (cele care au fost vopsite şi cu roşu şi cu albastru).
Cunoscând numerele n, p şi q afişaţi:
a) câte scânduri rămân nevopsite
b) câte scânduri sunt vopsite în roşu
c) câte scânduri sunt vopsite în albastru
d) câte scânduri sunt vopsite în violet​
in C++

Răspunsuri la întrebare

Răspuns de Porecla0987
0

Cel mai simplu si usor de inteles:

- folosesti un array (vector i se spune la clasa, cu toate ca nu-i acelasi lucru), o variabila care numara scandurile rosii, una care numara scandurile albastre si alta care numara scandurile violet, toate initializate la 0.

- citesti numerele;

- iterezi prin scandurile vopsite rosu si modifici valoarea din array in 1, incrementand variabila care numara scandurile rosii;

- iterezi prin scandurile vopsite albastru si daca valoarea din array e 0 (scandura e nevopsita) o modifici la 2, incrementand variabila care numara scandurile albastre, altfel la 3, incrementand variabila care numara scandurile violet;

<scanduri nevopsite> = n - (<scanduri rosii> + <scanduri albastre> + <scanduri violet>)

Alte întrebări interesante