| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1655 人关注过本帖
标题:求2---100之间的素数
只看楼主 加入收藏
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
 问题点数:0 回复次数:7 
求2---100之间的素数
求2---100之间的素数
搜索更多相关主题的帖子: 素数 
2007-12-01 10:47
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
写个函数就好了.

我的msn: myfend@
2007-12-01 11:13
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
create function f_getnum(@num int)
    returns bit     --return 0表示素数,1表示非素数
as
begin
    declare @k int,@i int
    declare @swit bit
    select @k=sqrt(@num),@i=2,@swit=0
    while @i<=@k and @swit=0
    begin
        if @num%@i=0
            set @swit=1
        else
            set @i=@i+1
    end
    return @swit
end
go
create proc p_test
as
    declare @t table(col int)
    declare @i int
    set @i=3
    while @i<=100
    begin
        if dbo.f_getnum(@i)=0
             insert @t values(@i)
        set @i=@i+1
    end
    select * from @t
go

exec p_test

drop function f_getnum
drop proc p_test

/*
col         
-----------
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

(所影响的行数为 24 行)
*/

我的msn: myfend@
2007-12-01 11:17
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
没想明白其中的算法,麻烦purana说一下你的算法。
2007-12-01 14:13
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
求素数的算法.不用说了吧?.

我的msn: myfend@
2007-12-01 15:00
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
有点明白了,一个数除以2到它的平方根(大于等于2),如果余数为0,则这个数为合数,如果不为0,则这个数为素数。
2007-12-01 15:20
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
得分:0 
2也是素数

——life is full of ups and downs!
2007-12-02 13:04
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
得分:0 
declare @m int,@n int
set @m =2
while (@m<100)
 begin
  set @n =2
    while(@n<@m)
     begin
       if(@m%@n=0)
       begin
      set @n=@m
      end
        set @n=@n+1
      end
       if (@n=@m) print @m
     set @m=@m+1
end

——life is full of ups and downs!
2007-12-02 13:05
快速回复:求2---100之间的素数
数据加载中...
 
   



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

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