下面是伪代码:
for i=1 to n
for j=1 to n
for k=1 to j
x = x+1
我必须计算这两件事(i)精确地计算它(ii)找到大O
在(i)中,我的最终答案是n^4+2n^3+5n^2+4n+2。在(ii)中,因为有三个循环,所以它是O(n^3);
似乎(i)或(ii)肯定有误差,因为(i)是4的幂,而大O只是3。
下面是我在计算迭代次数时的步骤:
for(i=1; i <=n; i++)
计算为1+(n+1)+n,即(2n+2)。
最后得到的是n^4(参见最后一项,(2n+2)+n(2n+2)+n(4+6+8+...+2n+
我想使用Python制作Diffie密钥交换代码,但我害怕只是随机选择g。
我读到了托马斯·波宁( Thomas )对这个问题的回答,如何计算Diffie-Hellman的原始根?说,如果你使用一个强素数,那么这个群体中的每一个数字(除了1和p-1)都会有一个p-1或\frac{p-1}{2}的顺序,但我在网上找不到可以使用的大强素数列表。有人知道我在哪里能找到吗?
编辑:感谢fgrieu的慷慨帮助,我意识到我正在寻找安全的素数,而不是强素数。