第10回ブルーブリッジカップソフトウェア類C或いはC++プログラム設計本科B組省試合第2題年号文字列


ブルーブリッジカップ歴代真題題題題解目録
試験問題B:年号文字列
本題の総得点:5分【問題の説明】明ちゃんはアルファベットAで数字1、Bで2に対応し、このようにZで26に対応します.27以上の数字に対して、明ちゃんは2桁以上の文字列で対応し、例えばAA対応27、AB対応28、AZ対応52、LQ対応329である.すみません、2019に対応する文字列は何ですか?【答えの提出】結果が空欄になった問題で、結果を算出して提出すればいいだけです.本題の結果は1つの大文字の英語の文字列で、答えを提出する時ただこの文字列だけを記入して、すべて大文字に注意して、余分な内容を記入して得点することができません.
分析:本題は進数変換で、分題を送って、ここで2つの方法をあげます.1つ目は計算機の直接計算で、手順は以下の通りです:2019/26=77 2019%26=17=Q 77/26=2 77%26=25=Y 2=B最終解答:BYQ 2つ目は再帰進数変換で、コードは以下の通りです:
#include 
using namespace std;

void fun(int num)
{
	if(num / 26)
		fun(num / 26);
	
	int temp = num % 26;
	cout << (char)(temp + 'A' - 1);
}

int main()
{
	int n;
	cin >> n;
	fun(n);
	return 0;
}