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

Care dintre următoarele expresii C/C++ are valoarea 1 dacă şi numai dacă numărul natural nenul memorat în variabila x, de tip int, este divizibil cu 100?

Varianta 1
x%10+x/10%10==0

Varianta 2
x/100==0

Varianta 3
x%10+x/10==0

Varianta 4
x%10+x%10/10==0

Mizez intre v1 si v4, insa nu stiu de ce una ar fi buna si alta nu...

Răspunsuri la întrebare

Răspuns de UnicornDust
9

Răspuns:

varianta 1

Explicație:

De fiecare data cand vrei sa afli ultima cifra, folosesti operatia x%10.

De aceea, si ultima cifra trebuie sa fie 0, adica x%10

si penultima trebuie sa fie 0, adica (x/10)%10.


paulb007: multumesc pentru iluminare
Răspuns de anamariaany45p9ya3w
2

Răspuns:

v4

Explicație:

O sa iti dau un contraexemplu si ai sa vezi e ce nu poate fi varianata 4

1340 nu este divizibil cu 100

v1: x%10+x/10%10= 1340%10+1340/10%10=0+134%10=0+4=4

v4:x%10+x%10/10=1340%10+1340%10/10=0+0/10=0+0=0 desi 1340 nu este divizibil cu 100

prin x%10 extragem cifra unitatilor

iar prin x/10%10 eliminam cifra unitatilor si extragem cifra zecilor

conditia ca un numar sa fie divizibil cu 100 este ca el sa aiba atat cifra zicilor cat si cea a sutelor egala cu 0


ModFriendly: Deci raspunsul tau este v1, nu v4
anamariaany45p9ya3w: Da
Alte întrebări interesante