10 進数を対応するアルファベット表記に変換するコードを書きました。
例:
1: A
2: B
.
.
.
26: Z
27: AA
.
.
.
703: AAA
これが私のアプローチです:
void print(int n)
{
if( n > 0 )
{
n--;
print( n / 26 );
printf( "%c", ( n % 26 ) + 'A' );
}
}
上記のコードは正しく機能しています。読みやすさの点で最適化できますか?
それを行う最良の方法は何ですか?
ここで、上記のコードを次のように変更したいと思います。
0: A
1: B
.
.
.
25: Z
26: AA
.
.
.
702: AAA
明らかなアプローチは、入力 10 進数に 1 を追加し、それを元のコードの関数に渡すことです。1を追加せずに2番目のケースで動作するように最初のプログラムを変更するにはどうすればよいですか?