[OJI][IX]Cifra 4
4Fie n un numar natural nenul.Scrieti un program care sa genereze numarul n pornind de la cifra 4,fiind permise numai urmatoarele operatii :
- impartirea la 2
- adaugarea la dreapta a cifrei 0
- adaugarea la dreapta a cifra 4
Tabara de Informatica ,Focsani ,1993
Exemplu :
cifra4.in
2141
cifra4.out
4
2
1
10
5
54
544
272
136
68
684
342
3424
1712
856
8564
4282
2141
O explicație completa pentru aceasta problema se gaseste pe Hackpedia.
Pe scurt : Cand ultima cifra e 0 sau 4 se elimina ultima cifra in caz contrar se inmulțeste cu 2.Acest lucru se face atat timp cat numarul este diferit de 4.
Daca acest articol contine o greseala, selecteaza cuvintele sau fraza gresita si tasteaza combinatia de taste Shift + Enter sau apasa click aici pentru a o raporta. Multumim!
Pot sa pun cod? 😛
Exista o solutie insa nu strica alta sa vedem si alte pareri.
#include <iostream.h>
#include <conio.h>
int main()
{
int n,i=1,rez[100];
cout<<n;
rez[0]=n;
while (n!=4)
{
if ( (n%10==0) || (n%10==4) ) n/=10;
else n*=2;
rez[i++]=n;
}
for (n=i-1;n>=0;n–)
cout<<rez[n]<<' ';
getch();
return 0;
}
E aproape ca rezolvarea mea,difera doar citirea/afisarea. 🙂