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

#include
using namespace std;

int main() {
int a;
cin >> a;
int mirr = 0;
while(a != 0) {
mirr = (mirr * 10) + (a % 10);
a = a / 10;
}
int i = 2, flag = 0;
while((i <= a / 2) || (i <= mirr / 2)) {
if((a % i == 0) || (mirr % i == 0)) {
flag = 1;
}
i++;
}
if(flag == 0) {
cout << "DA";
} else {
cout << "NU";
}
return 0;
}
Care este greseala din "while" loop sau dupa ea?


Krome: while((i <= a / 2) || (i <= mirr / 2))
Krome: si la if (a % i == 0) || (mirr % i == 0)
catalinsilipas: Deci nu e corecta bucla?

Răspunsuri la întrebare

Răspuns de Krome
0

Răspuns:

incearca asa while(i <= a / 2) || ( i <= mirr / 2) {

Explicație:


catalinsilipas: Daca scoti paranteza practic induci 2 conditii separate la while si asta nu se poate, programul nu va rula deloc
Alte întrebări interesante