Как проверить, что число не существует в какой то системе счисления?

Решал задачи для паскаля и тут попалась задача:

C клавиатуры вводится число. Вывести все системы счисления, в которых данное число не существует.

Ломал голову как ее решить. Но что-то не приходит ничего. Это все условие задачи. Может быть кто-может на c# решить это то же подойдет. Просто хочется понять как такое решать. Буду благодарен за ответ.


Ответы (2 шт):

Автор решения: Qwertiy

tio.run

using System.Linq;

Console.WriteLine(String.Join(", ", Enumerable.Range(1, Console.ReadLine().ToUpper().Max(ch => "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".IndexOf(ch))).Skip(1)));
783
2, 3, 4, 5, 6, 7, 8

Надо именно чтобы было число в типе данных integer.

Console.WriteLine
(
  x == 0
    ? "Запись нуля в единичной системе счисления в виде пустой строки сомнительна")
    : "Число {0} можно представить в любой системе счисления с положительным основанием",
  x
);
→ Ссылка
Автор решения: Alekcvp

Как-то так в итоге получается:

var 
  number: integer;
  digit, max, i: integer;
  
begin
  max := 1;
  write('Введите число: ');
  readln(number);
  number := abs(number);
  while number <> 0 do 
  begin
    digit := number mod 10;
    if digit > max then 
      max := digit;
    number := number div 10;
  end;
  writeln('Недопустимые системы счисления:');
  if max < 2 then
    writeln('Отсутствуют.');
  for i := 2 to max do
    write(i, ' ');
end.
→ Ссылка