Сформулировать строку, которая будет записью числа Х в системе счисления с основанием N - C#
Формулировка задачи:
Вводится целое число Х и число N(от 2 до 56). Сформулировать строку, которая будет записью числа Х в системе счисления с основанием N (для цифр берутся десятичные цифр, затем 26 символов английского алфавита.)
Решение задачи: «Сформулировать строку, которая будет записью числа Х в системе счисления с основанием N»
textual
Листинг программы
using System;
using System.Linq;
namespace ConsoleApplication
{
class Program
{
static void Main()
{
int X = Int32.Parse(Console.ReadLine());
int N = Int32.Parse(Console.ReadLine());
char[] array = new char[1];
bool noninit = true;
for (int i = 1; ;i++ )
{
if (Math.Pow(N, i) > X)
{
if (noninit)
{
array = new char[i];
array[0] = '0';
noninit = false;
}
int tmp = X / (int)Math.Pow(N, i - 1);
array[i - 1] = tmp < 10 ? (char)(tmp + 48) : (char)(tmp + 55);
X = X % (int)Math.Pow(N, i - 1);
i = 1;
if (X == 0)
break;
}
if (!noninit)
array[i] = '0';
}
string result = new String(array.Reverse().ToArray());
Console.WriteLine(result);
Console.ReadKey();
}
}
}