| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2406 人关注过本帖
标题:求助!判断素数问题
只看楼主 加入收藏
iverson817
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2008-3-13
收藏
得分:0 
回复 1# 的帖子
/*判断100~200间的素数*/
#include "stdio.h"
#include "math.h"
void main()
{
int i,number;
bool bool_su=true;
for(number=100;number<=200;number++)
{
  for(i=2;i<=sqrt(number);i++)
   {
    if(number%i==0)
    bool_su=false;
   }
  }
if(bool_su)
    printf("%d "number);
}
2008-04-17 22:51
tianyachaoren
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-18
收藏
得分:0 
加加速!!!
最好不要把i<=sqrt(number)放在for循环里边,可以减少不必要的计算。在number一样的情况下sqrt()函数的结果是一样的,没有必要每次都计算。
2008-04-18 21:58
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
比较好的质数测试:

#include<stdio.h>
#include<stdlib.h>
long long powmod(int a,int p,int m)
{
     long long s[64];
     long long result=1;
     int i=0,tmp=p;
     s[0]=a%m;
     while(tmp)
     {
         if(tmp&1) result=result*s[i]%m;
         tmp>>=1; i++;
         if(i) s[i]=s[i-1]*s[i-1]%m;
     }
     return result;
}
#define S 16 /*Test times*/
int test(int n)
{
    int i;
    int a;
    for(i=0;i<S;i++)
    {
        a=rand()%(n-2)+2;
        if(powmod(a,n-1,n)!=1) return 0;
    }
    return 1;
}
#undef S

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-04-18 22:36
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
又是MR测试啊。。。

" border="0" />
2008-04-18 22:47
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
这是我第一次发啊...
对了,yzfy,您一般S取多少?

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-04-18 22:50
想谈恋爱
Rank: 1
来 自:PT
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-4-18
收藏
得分:0 
12楼的想法很GOOD
2008-04-18 22:51
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
保证在long long内成立不是已经有现成的表么?

" border="0" />
2008-04-18 22:55
子夜老狼
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-4-18
收藏
得分:0 
学习一下
2008-04-18 23:48
快速回复:求助!判断素数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014735 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved