Последовательность чисел из данной системы счисления
На входе 2 переменные: n - число до которого должна быть последовательность, р - основание системы счисления
using System;
namespace SS
{
internal class Program
{
static void Main(string[] args)
{
string digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string r = "";
string s = "";
string[] a = Console.ReadLine().Split(' ');
int p = int.Parse(a[0]);
int n = int.Parse(a[1]);
for (int i = 1; i == n; i++)
{
while (i > 0)
{
int k = i % p;
r = digits[k] + r;
i /= p;
}
s += r;
}
Console.WriteLine(s);
Console.ReadKey();
}
}
}
По идее должно выводить слитную последовательность из системы счисления р в которой n элементов
Ответы (1 шт):
Автор решения: Frehzy
→ Ссылка
Console.Write("Введите систему счисления: ");
var numeralSystem = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите количество элементов системы счисления, которые необходимо вывести: ");
var count = Convert.ToInt32(Console.ReadLine());
IEnumerable<char> numeralSysList = default;
if (numeralSystem < 10)
numeralSysList = Enumerable.Range(0, count).Select(x => char.Parse(x.ToString()));
else
{
numeralSysList = Enumerable.Range(0, 10).Select(x => char.Parse(x.ToString()))
.Concat(Enumerable.Range('A', 'Z' - 'A' + 1).Select(x => (char)x))
.Take(count);
}
var line = string.Join(" ", numeralSysList);
Console.WriteLine($"Результат: {line}");
Console.ReadKey();