发新话题
打印

要确定一个11位数是否质数?谁有程序?

要确定一个11位数是否质数?谁有程序?

要确定一个11位数是否质数?谁有现成的程序请提供。谢谢!

TOP

有10位的程序吗?
王山而小传 (93字)

TOP

作为字符串读进来,然后转化为整数数组,用高精度的方法模拟处理。

TOP

main()
if

TOP

思路很简单,首先定义一个变量,然后将2设置成一个情况,其他的都是除以2除不尽的,两个分支就可以了

TOP

穷举呀,从2除到这个数的一半,算的很快

TOP

十一位数拜托,要高精度吧
貌似用double有误差
既不回头,何必不忘,若是无缘,何须誓言,
今日种种,似水无痕,明夕何夕,君已陌路!
我的blog龙鉴

TOP

。。。。。。多少年都没碰语言了~提个算法,你们看行不行~
(我那时候竞赛用的是过了时的free pascal(我也就没学其他的~),所以程序我就不编了~有兴趣的话大家可以尝试一下)
首先引一个定理:“一个数n是不是质数那么它一定存在小于sqrt(n)的因数”,换句话说就是“如果n mod k<>0(2<=k<=sqrt(n))”那么n就一定为质数。

那么首先是一个预处理:用筛选法求出1..999999的质数~(时间可能还好~没试过
放在state[]中
然后用sqr(state)和n比较大小,之后就可以用高进度算法计算了(这题目明显是用高精度嘛~)
个人看法~~

TOP

对了~我又想到一个东西~
你可以现写一个函数,来模拟MOD,DIV这些函数~()当然也是用高精度来写

这样到后面的话写主程序的时候可以思路清晰点~
(记得又一次竞赛的时候我用的是这个~写的我当时就想从5楼跳下去了~是有点烦~不过我没想出其他的好发法了)
如果大家想出了什么好的算法,欢迎交流

TOP

delphi据说还是许多程序员在用的,语法就是pascal
这个预处理不错,我都没想到呢
个人感觉时间不会花很多
mod的话不断的减法吧,猜测减法比mod快
既不回头,何必不忘,若是无缘,何须誓言,
今日种种,似水无痕,明夕何夕,君已陌路!
我的blog龙鉴

TOP

delphi我听过~没用过~听说很老但是很猛~~聪明的全用delphi~~~~自认为没那个资格~~!~!~!
只是了解一点语言~一点皮毛~~~~

减法简单一点!!
除法就减法~~~~(
FOR I:=1 TO LEN DO
BEGIN
            高精度加;
END;)
这就那函数,其实一样~~你写出来发出来看看吧~

TOP

看上面就3楼有点对头~~其他人都~11位啊~longint都超了~用comp的话所有函数都 报销~~
尽量不用~
其实11位,对高进度来说是很小的一个规模~这题目主要是难点就一个穷举~对高进度的灵活运用~LZ再哪看到的题目啊~竞赛的话我觉得不止会只考到11位~100位我觉得都不为过~~~
(虽然我做不出来~ )忘光了~
对了,10# 你是老师还是学生?
我高二。马上高三~现在再从事化学竞赛~信息2007年联赛安徽赛区国一(米什么含金量,而且是我误打误撞上的~

TOP

学生,只是对编程有兴趣而已
水平不咋地o(∩_∩)o...
同时最喜欢化学

[ 本帖最后由 hm05flash 于 2008-6-24 05:33 编辑 ]
既不回头,何必不忘,若是无缘,何须誓言,
今日种种,似水无痕,明夕何夕,君已陌路!
我的blog龙鉴

TOP

引用:
原帖由 hm05flash 于 2008-6-21 20:05 发表
十一位数拜托,要高精度吧
貌似用double有误差
如果你用ANSI99版本的c编译环境,比如dev C++ 4.9.2,长整型long int 就行了,用浮点型不精确。
越学越觉得无知~  
我的博:吾爱地理

TOP

发新话题