Объединение элементов списка в число в Mathematica

Я пытаюсь сгенерировать круговые простые числа в Mathematica 8.
Круговое простое число — это такое число, что все повороты его цифр являются простыми.

Например. 197 круговой, потому что 971 и 719 тоже являются первичными.

Теперь, чтобы проверить, является ли простое число круговым, я генерирую все вращения. Я делаю это следующим образом:

p = IntegerDigits[197];
Table[RotateLeft[p, n], {n, Length[p]}]

Что, следовательно, возвращает

{{9, 7, 1}, {7, 1, 9}, {1, 9, 7}}

Однако здесь я застреваю. Что я хотел бы сделать сейчас, так это захватить элементы каждого внутреннего списка и объединить их вместе в последовательном порядке, чтобы вывод стал таким

{971, 719, 197}

Так что я могу проверить, удовлетворяют ли все вращения PrimeQ[].

Хотя я, с одной стороны, мог бы сделать это, перебирая список, мне кажется, что есть лучший способ, которого я просто не понимаю.


person tesc    schedule 02.07.2011    source источник
comment
NestList можно было использовать как альтернативу Table в первой части. Вам, наверное, хорошо известно об этом. NestList[RotateLeft,p,(Length@p)-1]   -  person tomd    schedule 04.07.2011
comment
Я на самом деле не знал об этом! Я использую Mathematica всего несколько недель и постоянно учусь! Большое спасибо, TomD, я уверен, что NestList пригодится.   -  person tesc    schedule 04.07.2011


Ответы (1)


FromDigits это то, что вы ищете.

FromDigits /@ {{9, 7, 1}, {7, 1, 9}, {1, 9, 7}}
{971, 719, 197}
person abcd    schedule 02.07.2011
comment
Идеально! Большое спасибо, Йода. - person tesc; 03.07.2011