三九宝宝网宝宝百科宝宝知识

求教用C编写产生随机大素数程序以及验证输入的数为素数的各种

12月24日 编辑 39baobao.com

[求教日本文科留考数学和文综]1可以让语言学校的老师或者同学帮你报名,在国内没办法报名。中国没有留考的考点。 只能到日本或者其他国家参加考试。 2理科数学倒是比国内难,文科数学就不用担心了。 基础的...+阅读

以前我写过一个求打整数的程序,可以给你解释下大概的思路 先说说大整数怎么定义吧,我是用一个类来写的,支持1024位的大整数,整数是用数组来装的,长度可以自己设。然后定义了相关的成员函数,如四则运算,当然也包含了你所说的素性检测。这里用的素性检测的算法是拉宾米勒算法,这个算法可以判断大整数是否有可能是素数,函数名为Rab。如果你想得到大素数,可以看看素性检测相关的资料,拉宾米勒算法是最常用的算法。类里也写了个GetPrime函数用于获得大素数。类的定义如下: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define BI_MAXLEN 64 class CBigNumber { public: //大数在0x100000000进制下的长度 unsigned m_nLength; //用数组记录大数在0x100000000进制下每一位的值 unsigned long m_ulValue[BI_MAXLEN]; CBigNumber(); ~CBigNumber(); /***************************************************************** 基本操作与运算 Mov,赋值运算,可赋值为大数或普通整数 Cmp,比较运算,比较两个大数或两个普通整数的大小 Add,加,求大数与大数或大数与普通整数的和 Sub,减,求大数与大数或大数与普通整数的差 Mul,乘,求大数与大数或大数与普通整数的积 Div,除,求大数与大数或大数与普通整数的商 Mod,模,求大数与大数或大数与普通整数的模 Pow,乘方,求大数与普通整数的乘方 *****************************************************************/ void Mov(unsigned __int64 A); void Mov(CBigNumber A); CBigNumber Add(CBigNumber A); CBigNumber Sub(CBigNumber A); CBigNumber Mul(CBigNumber A); CBigNumber Div(CBigNumber A); CBigNumber Mod(CBigNumber A); CBigNumber Add(unsigned long A); CBigNumber Sub(unsigned long A); CBigNumber Mul(unsigned long A); CBigNumber Div(unsigned long A); unsigned long Mod(unsigned long A); int Cmp(CBigNumber A); CBigNumber Pow(unsigned long A); /***************************************************************** 输入输出 Get,从字符串按10进制或16进制格式输入到大数 Put,将大数按10进制或16进制格式输出到字符串 *****************************************************************/ // void Get(unsigned char *str, UINT len); CBigNumber Get(unsigned char *str, unsigned long len); void Put10(CString &str); void Put256(CString &str); void Put16(CString &str); void Putchar(CString &str); /***************************************************************** RSA相关运算 Rab,拉宾米勒算法进行素数测试 Euc,欧几里德算法求解同余方程 Mon,蒙格马利法进行幂模运算 GetPrime,产生指定长度的随机大素数 *****************************************************************/ int Rab(); CBigNumber Euc(CBigNumber A); //CBigNumber RsaTrans(CBigNumber A, CBigNumber B); CBigNumber Mon(CBigNumber A, CBigNumber B); void GetPrime(int bits); }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 最后提醒楼主一点,大素数不是靠从1到那个数减1那样算的,因为那样真的很慢的 还有,这个只是一个类的定义,实现部分你可以按自己的想法定义,当然如果有不懂可以找我,我有它的实现部分

以下为关联文档:

求教华为g5205000移动版刷机方法在电脑上首先下载好豌豆荚打开并且连接上手机,系统就会自动检测并且连接上手机。进入主页面: 1.选择左方菜单栏中的最后一个“手机工具箱”,进入更多工具的选择页面,点击一键roo...

小学开学安全教育第一课求教一年级新生入学安全教育 教学目标: 1、 增强安全意识,时时处处树立“安全第一”思想,加强安全教育。 2、认真吸取安全事故血的教训,树立自我防范和保护意识。 教学重点: 提高学生...

我的电脑任务栏变成白色了求教一下。桌面右键-属性-外观-WINDOWS 经典样式 你的电脑被人更换了主题,在桌面点右键->属性->主题 里有设置。 【1】打开控制面板-管理工具-服务,查看"themes"服务是否已经启动; 【2...

求教日语高手长音问题日语的长音,平假名和片假名的表示方法不一样。 先说平假名的 あ段假名+あ是长音 例如お母(かあ)さん い段假名+い是长音 例如いいえ う段假名+う是长音 例如空気(くうい) え段假...

求教野外生存技巧野外生存技巧之找水、收集水 生命离不开水,没有食物正常人可以活三周,但没有水,三天都活不了,所以水要优先考虑,几点小提示,希望帮助你在野外迅速找到或收集到水。 1. 找水源首选...

求教天下三2000块能出天域么这个就要看你怎么去出了 方法有2个 1.开金牛 出金色武器去声望商店卖声望 天域声望达到10000换自己用的的天域武器的铁 用火合天域 2.开金玉富贵 这个纯看运气 可能出8种门...

求教父读后感英文我觉得最近我是疯了,对美国的历史和社会不知不觉地产生了某种兴趣,这不是我的错,也不是上帝的,呵呵!命运的一种玩笑吧! 我自来对别人写的历史是不相信的,因为有些东西,人的天性,希望...

求教这个单元花是怎么钩的那个黑线是另加的一根线。我正好也有这个图纸,试着翻译一下吧!不过我钩针水平差,只能照着他写的翻译,但不知道具体怎么钩。。。单元花A中心5针辫子环形起针。第1圈:钩12针短针,同...

标签纸大小20 5mm一行四列求教斑马GK888T打印机如何设置鹭源条码技术人员解答: 设置标签纸的大小、打印速率以及打印的浓度的步骤如下: (1)点击“开始”-“打印机和传真”,进入后就可以看见打印机的图标了。 (2)右击图标选择“打印首...

推荐阅读
图文推荐