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 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!