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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!