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

sa se afiseze numerele de 5 cifre care respecta urmatoarele conditii:
prima cifra + ultima cifra = suma dintre cifra a 2-a si cifra a 4-a, unde cifra 3 este para, iar suma tuturor cifrelor este impara
(problema se va rezolva in C/C++)

Răspunsuri la întrebare

Răspuns de stassahul
4
#include <iostream>

using namespace std;

int main()
{

    for(int i=10000;i<=99999;i++)
        if(((i/10000+i%10)==(i/1000%10+i/10%10)) and ((i/100%10)%2==0) and ((i%10+i/10%10+i/100%10+i/1000%10+i/10000)%2==1))
            cout << i << " ";

    return 0;

}

Daca o pui in Codeblocks sau in alt compilator care il folosesti, observi ca nu afiseaza nimic.
Atunci sau programul este gresit (cea ce ar insemna ca sint rau la programare) sau in realitate nu exista asa numere care respecta conditia.

Ne intoarcem in matematica si ne amintim ca un numar de 5 cifre se poate scrie ca:

10000a+1000b+100c+10d+e

Din conditie avem ca:

a+e=b+d (suma prima cifra si ultima este egala cu suma dintre a 2-a si a 3-a)

2x=c (a treia cifra este para, deci exista asa un numar x pentru care 2x sa fie c, de exemplu daca avem 0, x e 0; daca c-8, x-4)

a+b+c+d+e=2y+1 (suma cifrelor este un numar impar, cu alte cuvinte este un numar y, pentru care a+b+c+d+e=2y+1 este impar)
Din prima conditie avem ca: a+e=b+d, iar din a 2-a: 2x=c, inlocuim:

b+b+2x+d+d=2y+1
2b+2x+2d=2y+1
2(b+x+d)=2y+1
b+x+d=(2y+1)/2, orice numar care am inlocuit printro litera trebuie sa fie natural! Dar suma b+x+d va fi un numar zecimal, pt. ∀ y∈N, d-ce (2y+1)-impar, de unde (2y+1)/2-numar zecimal.

Deci ne-am convis ca nu exista asa numere de 5 cifre, care respecta conditia din problema. Era destul de observat acest lucru si sa scriem un program gol

Alte întrebări interesante