一江春水向东流

做一个有思想的人,期待与每一位热爱思考的人交流,您的关注是对我最大的支持。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  44 随笔 :: 139 文章 :: 81 评论 :: 0 Trackbacks
 有时我们需要特定的素数,比如我们在对哈希表取模是就要用到。这你给出了一段小程序可以找出给定数附近的素数。程序在VC6.0下编译通过
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int prime(int m)
{
 int i,k;
 k = (int)sqrt(m);
 for(i=2; i<k; i++)
 if (m % i == 0)
  return 0;
 return 1;
}
int main(int argc, char** argv)
{
 int input = 0;
 int val, ret = 0;
 if (argc != 2)
 {
  printf("usage:find_prime num\n");
  exit(-1);
 }
  
 input = atoi(argv[1]);
 //printf("%d\n",input);
 val = input;
 //向下找
 while (!ret)
 {
  ret = prime(val); 
  val--;
 }
 printf("%d\n", ++val);
 //向上找
 val = input;
 ret = 0;
 while (!ret)
 {
  ret = prime(val);
  val++;
 }
 printf("%d\n", --val);
    return 0;
}

转自好特吧
www.hot818.net
posted on 2008-07-28 11:56 allic 阅读(270) 评论(0)  编辑  收藏 所属分类: 文章收藏

只有注册用户登录后才能发表评论。


网站导航: