gpt4 book ai didi

wolfram-mathematica - 我可以在 Mathematica 函数中返回列表吗?

转载 作者:行者123 更新时间:2023-12-01 09:18:56 25 4
gpt4 key购买 nike

在我的代码中,我试图从我的函数中返回数字列表,但它只给了我 .

 sifra[zprava_, klic_] := Module[
{c, n, e, m, i, z, pocCyklu, slovo},
pocCyklu = Ceiling[Divide[StringLength[zprava], 5]];
c = Array[{}, pocCyklu];
z = Partition[Characters[zprava], 5, 5, 1, {}];
For[i = 1, i < pocCyklu + 1, i++,
slovo = StringJoin @ z[[i]];
m = StringToInteger[slovo];
n = klic[[1]];
e = klic[[2]];
c[[i]] = PowerMod[m, e, n];
]
Return[c]
];
sif = sifra[m, verejny]

循环完成后, c 中应该有 2 个数字。 .
Print[c]工作正常,它打印包含 2 个元素的列表,但 sif . Return[c]给我:

Null Return[{28589400926821874625642026431141504822, 2219822858062194181357669868096}]

最佳答案

你可以这样写函数:

sifra[zprava_, klic_] := Module[{c, n, e, m, i, z, pocCyklu, slovo},
pocCyklu = Ceiling[Divide[StringLength[zprava], 5]];
c = ConstantArray[{}, pocCyklu];
z = Partition[Characters[zprava], 5, 5, 1, {}];
For[i = 1, i < pocCyklu + 1, i++,
slovo = StringJoin@z[[i]];
m = ToExpression[slovo];
{n, e} = klic;
c[[i]] = PowerMod[m, e, n]];
c]

使用示例数据演示使用:
sifra["9385637605763057836503784603456", {124, 2}]

{20, 97, 41, 9, 4, 113, 36}



你也可以这样写函数:
sifra[zprava_, {n_, e_}] := Module[{z},
z = Partition[Characters[zprava], 5, 5, 1, {}];
Map[PowerMod[ToExpression[StringJoin[#]], e, n] &, z]]

关于wolfram-mathematica - 我可以在 Mathematica 函数中返回列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27384178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com