注册 登录
编程论坛 数据结构与算法

新人求高手解答下问题

yang0401 发布于 2011-05-30 23:13, 505 次点击
只有本站会员才能查看附件,请 登录

为什么这里使用i<=n开方的值就行了哦!
6 回复
#2
brian19942011-05-31 14:46
这...
程序代码:

function prime_bool(x:longint):boolean;
  var
   i:longint;
  begin
   for i:=2 to trunc(sqrt(x)) do
   if x mod i=0 then exit(false);
   exit(true);

 end;
#3
yang04012011-05-31 16:49
看不懂哦 我想知道的是这个的算法就是为什这里使用i<=n开方的值就行了哦
#4
brian19942011-05-31 16:50
对不起我的是PASCAL代码
#5
brian19942011-05-31 16:54
程序代码:

#include<cstdio>
#include<cmath>
int n,m=0;
int main()
{
scanf("%d",&n);
for (int i=2;i<=floor(sqrt(n)+0.5);i++)
  if (x%i==0)
  {
     printf("%d是素数\n",n);
     return 0;
  }
printf("%d不是素数\n",n);
return 0;
}
#6
yang04012011-06-01 18:06
但是我想要的是这个证明过程啊就是为什么这个可以这样
#7
biancheng5552011-06-02 07:27
那个先开方,是为了减少程序运行的步奏,使之运行时间减少。
1