Cambiamento di base

Corso Online per Potenziare le Competenze Digitali

Dopo anni di barzellette, Pierino è diventato maggiorenne e ha deciso di aprire un conto in banca!
Come sapete, Pierino non è mai stato una cima in matematica; una cosa però l’ha imparata di certo: esistono dei trucchetti matematici con i quali è possibile incrementare il proprio capitale.
Pierino si ricorda che, quando la maestra spiegava le conversioni dalla base 10 (decimale) alla base 8 (ottale), 2 (binaria), e così via, una cosa molto interessante saltava all’occhio: lo stesso numero richiedeva più cifre per essere scritto.
Ad esempio: uno sterile 43 in base 10 si trasformava, con lo stupore di Pierino, in un sontuoso 101011 quando la maestra procedeva a scriverlo in base 2.
Aiuta Pierino ad ampliare il suo patrimonio!

Dati in input due interi N e B (2 ≤ B ≤ 9), dove N è il patrimonio attuale di Pierino, stampa in output lo stesso numero N, scritto in base B.

Dati di input

Il file input.txt è composto da una riga, contenente gli interi N e B (scritti in base 10).

Dati di output

Il file output.txt è composto da un’unica riga contenente la rappresentazione di N in base B.

Esempi di input/output

input.txt output.txt
23 3 212
12 2 1100

/*
 www.valcon.it/c
 Corso Online per Potenziare le Competenze Digitali
 Cambiamento di base
*/

#include 
#include 
using namespace std;

int main()
{
	ifstream fin ( "input.txt");
	ofstream fout("output.txt");
	int      N;
	int      B;
    int      cifre[15];
	//---------------------------
	fin >> N >> B;
    //---------------------------
    int pos=0;
    while(N > 0)
    {
    	int q=N/B;
    	int r=N%B;
    	
    	cifre[pos]=r;
    	pos++;
    	N=q;
	}
    //---------------------------
    for(int i=pos-1; i >= 0; i--)
    	fout << cifre[i];
	return 0;
}