Mathematica的输出具有以下操作FactorInteger[28851680048402838857]
如下:
{{3897424303, 1}, {7402755719, 1}}
我的问题是:如何提取两个素数(没有指数)并将它们分配给任意变量?
我基本上想要检索两个素数,无论它们是什么,并为它们分配一些变量。
例如:x0 = 3897424303
和x1 = 7402755719
谢谢!
答案 0 :(得分:7)
输出是一个列表,您可以使用list manipulating functions之类的Part
([[ ]])来挑选您想要的部分,例如,
{x0, x1} = FactorInteger[28851680048402838857][[All, 1]]
或,没有Part
:
{{x0,dummy}, {x1,dummy}} = FactorInteger[28851680048402838857];
答案 1 :(得分:4)
您的问题中隐含的是处理从FactorInteger
等函数返回的表达式的部分问题。请允许我建议替代方案。
{list}
中,并使用Part
访问每个元素:x = First /@ FactorInteger[7813426]
{2, 31, 126023}
x[[1]]
x[[3]]
2
126023
x
的值,模仿数组的索引:(此代码使用MapIndexed
,Function
。)
Clear[x]
MapIndexed[
(x[First@#2] = First@#1) &,
FactorInteger[7813426]
];
x[1]
x[3]
2
126023
您可以使用?
或??
查看所有值(请参阅Information
):
?x
Global`x x[1]=2 x[2]=31 x[3]=126023