121、构建一个二维整数格点图形。首先创建一个坐标点对的列表,然后用线条连接合适的坐标对(使用Graphics[Line[…]]),再用Graphics[Point[…]]添加点。
以下是一个简单示例代码用于构建二维整数格点图形:
m = 5; (* 定义格点范围 *)
coords = Flatten[Table[{i, j}, {i, 0, m}, {j, 0, m}], 1]; (* 创建坐标点列表 *)
lines = {}; (* 创建连接线条 *)
For[i = 1, i <= m + 1, i++,
For[j = 1, j <= m, j++,
lines = Append[lines, Line[{(i - 1)*(m + 1) + j, (i - 1)*(m + 1) + j + 1}]];
lines = Append[lines, Line[{(j - 1)*(m + 1) + i, j*(m + 1) + i}]]
]
];
points = Graphics[Point[coords]];
linesGraphics = Graphics[lines];
Show[points, linesGraphics]
上述代码创建了一个 m x m
的二维整数格点图形,你可以根据需要调整 m
的值来改变格点范围。
122、找出以下列表中数字 9 的位置,并使用 Position 函数进行验证。列表为 { {2, 1, 10}, {9, 5, 7}, {2, 10, 4}, {10, 1, 9}, {6, 1, 6}}
可以使用 Position
函数来找出列表中数字 9 的位置,代码为:
Position[{
{2, 1, 10}, {9, 5, 7}, {2, 10, 4}, {10, 1, 9}, {6, 1, 6}}, 9]
其结果将显示数字 9 在列表中的位置。
123、确定区间 [4302407360, 4302407713] 中是否存在质数。若存在,返回该区间内明确的质数。
要解决此问题,可先使用 Range
函数生成该区间的整数列表,再用 PrimeQ
函数判断每个数是否为质数,结合 Position
函数找出质数的位置,最后用 Extract
函数提取出这些质数。示例代码如下:
ints = Range[4302407360, 4302407713];
pos = Position[PrimeQ[ints], True];
primes = Extract[ints, pos];
-
PrimeQ
函数用于判断一个数是否为质数 -
Position
函数用于查找列表中满足条件的元素位置 -
Extract
函数用于根据位置提取元素
124、使用Part函数提取列表中偶数索引位置的元素和奇数索引位置的元素。已知输入为 In[1]:= lis = RandomInteger[{1, 20}, {12}] ,输出为 Out[1]= {5, 3, 3, 8, 17, 3, 3, 4, 20, 2, 11, 13},请完成元素提取操作。
要提取偶数索引元素可使用 Part[lis, {2, 4, 6, 8, 10, 12}]
;提取奇数索引元素可使用 Part[lis, {1, 3, 5, 7, 9, 11}]
。
125、使用Table创建一个 3x3 的单位矩阵。创建完成后,再次使用Table对对角线上及对角线以上的所有元素求和。
使用 Table
创建矩阵的示例代码如下(创建一个 3x3 的单位矩阵):
mat = Table[If[i == j, 1, 0], {i, 3}, {j, 3}]
对对角线上及以上元素求和的示例代码如下:
sum = Sum[mat[[i, j]], {i, 1, 3}, {j, i, 3}]
126、重新排列1到10的数字列表,使得输出中任意相邻的数字(例如1和2、2和3等)都不相邻。
一个可能的排列是{1, 3, 5, 7, 9, 2, 4, 6, 8, 10} 。
127、制作前10000个斐波那契数中首位数字出现频率的直方图,并说明此现象与本福特定律的关联。本福特定律指出在多种数据中首位数字的出现频率有一定规律,如数字1大约出现30%的时间,数字2大约出现17.6%的时间等,该现象已被证明存在于著名的数值序列、人口统计、死亡率、斐波那契数等诸多数据中,甚至被用于检测企业和税务欺诈。
可按以下步骤实现:
- 生成前10000个斐波那契数;
- 提取每个斐波那契数的首位数字;
- 统计每个首位数字出现的频率;
- 用绘图工具(如Mathematica、Python的Matplotlib库等)制作直方图。
以Mathematica为例代码如下:
F[1] = 1;
F[2] = 1;
F[n_] := F[n - 2] + F[n - 1];
fibNums = Table[F[i], {i, 1, 100