使用以下操作 FactorInteger[28851680048402838857]
在Mathematica中的输出结果如下:
{{3897424303, 1}, {7402755719, 1}}
我的问题是:如何提取两个质数(不含指数)并将它们分配给任意变量?
我想要检索两个质数,无论它们是什么,并将它们分配给一些变量。
例如:x0 = 3897424303
和 x1 = 7402755719
谢谢!
使用以下操作 FactorInteger[28851680048402838857]
在Mathematica中的输出结果如下:
{{3897424303, 1}, {7402755719, 1}}
我的问题是:如何提取两个质数(不含指数)并将它们分配给任意变量?
我想要检索两个质数,无论它们是什么,并将它们分配给一些变量。
例如:x0 = 3897424303
和 x1 = 7402755719
谢谢!
Part
([[]])来挑选您需要的部分,例如,{x0, x1} = FactorInteger[28851680048402838857][[All, 1]]
Part
:{{x0,dummy}, {x1,dummy}} = FactorInteger[28851680048402838857];
你的问题中隐含了如何处理从 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