两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:intrepidsword:zhongzihao:ntt [2021/07/04 13:08] toxel fix bug |
2020-2021:teams:intrepidsword:zhongzihao:ntt [2022/05/02 16:48] (当前版本) toxel add code |
||
---|---|---|---|
行 120: | 行 120: | ||
| $38280596832649217$ | $17\times2^{51}+1$ | $3$ | $59109745109237761$ | $105\times2^{49}+1$ | $17$ | | | $38280596832649217$ | $17\times2^{51}+1$ | $3$ | $59109745109237761$ | $105\times2^{49}+1$ | $17$ | | ||
| $77687093572141057$ | $69\times2^{50}+1$ | $5$ | $112589990684262401$ | $25\times2^{52}+1$ | $3$ | | | $77687093572141057$ | $69\times2^{50}+1$ | $5$ | $112589990684262401$ | $25\times2^{52}+1$ | $3$ | | ||
- | | $168884986026393601$ | $75\times2^{51}+1$ | $11$ | $418834765345456129$ | $93\times2^{52}+1$ | $7$ | | + | | $168884986026393601$ | $75\times2^{51}+1$ | $11$ | $180143985094819841$ | $5\times2^{55}+1$ | $6$ | |
+ | | $418834765345456129$ | $93\times2^{52}+1$ | $7$ | $459367161991790593$ | $51\times2^{53}+1$ | $5$ | | ||
+ | | $855683929200394241$ | $95\times2^{53}+1$ | $3$ | $882705526964617217$ | $49\times2^{54}+1$ | $5$ | | ||
+ | | $891712726219358209$ | $99\times2^{53}+1$ | $7$ | $1261007895663738881$ | $35\times2^{55}+1$ | $6$ | | ||
+ | | $1945555039024054273$ | $27\times2^{56}+1$ | $5$ | $2053641430080946177$ | $57\times2^{55}+1$ | $7$ | | ||
+ | | $2485986994308513793$ | $69\times2^{55}+1$ | $5$ | $4179340454199820289$ | $29\times2^{57}+1$ | $3$ | | ||
+ | | $6269010681299730433$ | $87\times2^{56}+1$ | $5$ | $10232178353385766913$ | $71\times2^{57}+1$ | $3$ | | ||
+ | | $10808639105689190401$ | $75\times2^{57}+1$ | $7$ | $13690942867206307841$ | $95\times2^{57}+1$ | $3$ | | ||
+ | | $15564440312192434177$ | $27\times2^{59}+1$ | $5$ | $28534807239019462657$ | $99\times2^{58}+1$ | $5$ | | ||
+ | | $29687728743626309633$ | $103\times2^{58}+1$ | $3$ | $31417111000536580097$ | $109\times2^{58}+1$ | $3$ | | ||
+ | | $35740566642812256257$ | $31\times2^{60}+1$ | $3$ | $40928713413543067649$ | $71\times2^{59}+1$ | $3$ | | ||
+ | | $51881467707308113921$ | $45\times2^{60}+1$ | $11$ | $72634054790231359489$ | $63\times2^{60}+1$ | $34$ | | ||
+ | | $84163269836299829249$ | $73\times2^{60}+1$ | $3$ | $86469112845513523201$ | $75\times2^{60}+1$ | $14$ | | ||
+ | | $122209679488325779457$ | $53\times2^{61}+1$ | $3$ | $205220027820018761729$ | $89\times2^{61}+1$ | $3$ | | ||
+ | | $219055085875300925441$ | $95\times2^{61}+1$ | $3$ | $242113515967437864961$ | $105\times2^{61}+1$ | $11$ | | ||
+ | | $484227031934875729921$ | $105\times2^{62}+1$ | $17$ | $502673776008585281537$ | $109\times2^{62}+1$ | $3$ | | ||
+ | |||
+ | 生成代码: | ||
+ | <hidden> | ||
+ | <code cpp> | ||
+ | import sympy.ntheory as nth | ||
+ | import random | ||
+ | |||
+ | |||
+ | if __name__ == '__main__': | ||
+ | output = list() | ||
+ | for mult in range(1, 120, 2): | ||
+ | for exp in range(10, 63): | ||
+ | num = mult << exp | 1 | ||
+ | if nth.isprime(num): | ||
+ | output.append((num, mult, exp, nth.residue_ntheory.primitive_root(num))) | ||
+ | output.sort() | ||
+ | print(len(output)) | ||
+ | print('^ NTT 模数 ^ 表达式 ^ 原根 ^ NTT 模数 ^ 表达式 ^ 原根 ^') | ||
+ | for i in range(0, len(output), 2): | ||
+ | num, mult, exp, pr_root = output[i] | ||
+ | string = f'| ${num}$ | ${mult}\\times{2}^{{{exp}}}+1$ | ${pr_root}$ ' | ||
+ | if i + 1 < len(output): | ||
+ | num, mult, exp, pr_root = output[i + 1] | ||
+ | string += f'| ${num}$ | ${mult}\\times{2}^{{{exp}}}+1$ | ${pr_root}$ ' | ||
+ | string += '|' | ||
+ | print(string) | ||
+ | </code> | ||
+ | </hidden> |