Cerința
Se dă un număr n scris în baza b. Să se afișeze scrierea acestuia în baza c.
Date de intrare
Programul citește de la tastatură numerele n, b și c separate prin spații.
Date de ieșire
Programul va afișa pe ecran scrierea numărului n în baza c.
Restricții și precizări
numărul n este natural si are cel mult nouă cifre
2 ≤ b,c ≤10
Exemplu
Intrare
2013 4 7
Ieșire
252
Explicație
2013(4) se scrie 252(7)
AM DOAR 60 DE PUNCTE
#include
#include
using namespace std;
int n,b,c,uc,i,rez,r,nb,p=1,b1,cn;
int main()
{
cin>>n>>b>>c;
int pb=1;
do{
rez=rez+(n%10)*pb;
pb=pb*b;
n=n/10;
}
while(n);
while(rez){
r=rez%c;
nb=nb+r*p;
p=p*10;
rez=rez/c;
}
cout << nb<< endl;
return 0;
}
Răspunsuri la întrebare
Răspuns de
19
#include<iostream>
using namespace std;
int n,m,p,r,b,c,x[100],k;
int main()
{
cin>>n>>b>>c;
//conversia lui n din baza b in baza 10 si se obtine m
p=1;
while(n!=0)
{
r=n%10;
m=m+r*p;
p=p*b;
n=n/10;
}
//conversia lui m din baza 10 in baza c si se obtine n
p=1;
while(m!=0)
{
r=m%c;
k++;
x[k]=r;
m=m/c;
}
for(int i=k;i>=1;i--)
cout<<x[i];
}
using namespace std;
int n,m,p,r,b,c,x[100],k;
int main()
{
cin>>n>>b>>c;
//conversia lui n din baza b in baza 10 si se obtine m
p=1;
while(n!=0)
{
r=n%10;
m=m+r*p;
p=p*b;
n=n/10;
}
//conversia lui m din baza 10 in baza c si se obtine n
p=1;
while(m!=0)
{
r=m%c;
k++;
x[k]=r;
m=m/c;
}
for(int i=k;i>=1;i--)
cout<<x[i];
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă