Răspuns :
[+] De ce programul nu functioneaza :
Tu verifici daca produsul este 1 pentru a determina daca exista cifre care au intrat in produs. Acest lucru functioneaza in toate cazurile mai putin atunci cand n este de forma [tex]n=111...1[/tex] iar [tex]k \neq 1[/tex].
Exemplu :
- Pentru n=111 si k=5 se va afisa 0 (pentru ca p=1). Trebuia sa afisam 1
[+] Quickfix
Folosim variabila binara modificat in care retinem daca produsul a fost modificat sau nu.
[+] Propunere rezolvare (100 puncte) :
#include <iostream>
using namespace std;
int main()
{
int n, k, cif;
bool modificat = 0;
long long p;
cin >> n >> k;
p = 1;
while (n != 0)
{
cif = n % 10;
if (cif != k)
{
p = p * cif;
modificat = 1;
}
n = n / 10;
}
if (modificat)
cout << p;
else
cout << 0;
return 0;
}
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.