Se dă un număr. Să se scrie, dacă este posibil, ca sumă de două numere consecutive. Exemple : Date de intrare 5 Date de ieşire 5=2+3 ; Date de intrare 6 Date de ieşire Nu se poate. c++ va rog mult
Răspunsuri la întrebare
Răspuns de
3
Aici folosim putin mate:
Daca avem un numar k, atunci urmatorul dupa k este k+1.
Adica k si k+1 sunt consecutive.
Acum sa adunam doua numere consecutive:
k + (k+1) = k + k + 1 = 2k+1
Buuuun, acum stim ca orice numar care merge scris ca suma de 2 nr. consecutive o sa fie de forma 2k+1.
Ceea ce inseamna ca daca noi verificam ca numarul este intr-adevar de forma 2k+1, atunci am aflat ca merge scris, si am aflat si acel k.
Pai, ce stim noi despre 2k+1? Stim ca este impart, pentru ca 2k e clar divizibil cu 2, deci par, iar daca la un numar par adaugi 1, devine impar saracutul.
Deci un numar e de forma 2k+1 daca e impar. Verificarea daca un nr e impar e banal de facut cu un if in C++.
Daca numarul nu e impar, atunci afisezi mesajul ala ca nu se poate.
Daca in schimb este impar, atunci trebuie sa gasesti acel k.
Si asta e simplu: numarul tau n este de forma 2k+1, daca scazi un 1 o sa ramai cu 2k, apoi daca imparti la 2, ramai direct cu k, si faci afisarea lui k si k+1 cum vrea inimioara ta.
Iti las si un exemplu ceva mai compact, il rafinezi tu cum vrei.
Spor!
Daca avem un numar k, atunci urmatorul dupa k este k+1.
Adica k si k+1 sunt consecutive.
Acum sa adunam doua numere consecutive:
k + (k+1) = k + k + 1 = 2k+1
Buuuun, acum stim ca orice numar care merge scris ca suma de 2 nr. consecutive o sa fie de forma 2k+1.
Ceea ce inseamna ca daca noi verificam ca numarul este intr-adevar de forma 2k+1, atunci am aflat ca merge scris, si am aflat si acel k.
Pai, ce stim noi despre 2k+1? Stim ca este impart, pentru ca 2k e clar divizibil cu 2, deci par, iar daca la un numar par adaugi 1, devine impar saracutul.
Deci un numar e de forma 2k+1 daca e impar. Verificarea daca un nr e impar e banal de facut cu un if in C++.
Daca numarul nu e impar, atunci afisezi mesajul ala ca nu se poate.
Daca in schimb este impar, atunci trebuie sa gasesti acel k.
Si asta e simplu: numarul tau n este de forma 2k+1, daca scazi un 1 o sa ramai cu 2k, apoi daca imparti la 2, ramai direct cu k, si faci afisarea lui k si k+1 cum vrea inimioara ta.
Iti las si un exemplu ceva mai compact, il rafinezi tu cum vrei.
Spor!
Anexe:
Alte întrebări interesante
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă