Răspuns :
Răspuns:
#include <stdio.h>
int main()
{
int n, p, k, nr=0, x;
printf("n = "); scanf("%d",&n);
printf("p = "); scanf("%d",&p);
printf("k = "); scanf("%d",&k);
if(n==0)
printf("Nu exista numere!");
while(n!=0)
{
scanf("%d",&x);
if( x % p == k )
nr ++;
n--;
}
if(nr==0)
printf("Nu exista numere care prin impratirea la %d au restul %d", p, k);
else
if(nr==1)
printf("Un singur numar se imparte la %d si da restul %d", p, k);
else
printf("%d numere au restul %d prin impratirea la %d", nr, k, p);
}
Explicație:
Pentru a înțelege care este diferenta intre "/" ( div ) si "%" ( mod ) vezi aici: https://brainly.ro/tema/5236863 sau din alte surse.
Deși scrie "c++" tot ce scrie acolo este valabil și pentru limbajul C.
Legat de programul de mai sus.
Dupa ce intelegi ce face MOD o sa iti dai seama ca secventa
if( x % p == k ) verifica daca restul impartirii numarului x la p reprezinta valoarea atribuita variabilei k.
Algoritmul citeste numerele n, p, k.
Citeste n numere pana cand n are valoarea 0 si efectueaza numararea acelor numere care prin impartirea la p au restul k.
Algoritmul este mai eficient deoarece rezolvarea problemei se realizeaza in timpul citirii fiecarui numar astfel incat nu este nevoie sa folosim tablouri unidimensionale ( vectori ).
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.