设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: chaochao
打印 上一主题 下一主题

[胡扯] 蛋疼数学程序帝!质数算法。

   关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

21
发表于 2010-6-27 15:57:16 | 只看该作者
其实从来就不懂效率这东西的人飘过了……{:nm_8:}
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

CHAOS

梦石
0
星屑
107
在线时间
245 小时
注册时间
2005-11-4
帖子
3521

贵宾

22
 楼主| 发表于 2010-6-27 17:34:43 | 只看该作者
  1.     public class suanfa1
  2.     {
  3.         private DateTime startDateTime;
  4.         public DateTime StartDateTime
  5.         {
  6.             get { return startDateTime; }
  7.             set { startDateTime = value; }
  8.         }
  9.         private DateTime endDateTime;
  10.         public DateTime EndDateTime
  11.         {
  12.             get { return endDateTime; }
  13.             set { endDateTime = value; }
  14.         }
  15.         private List<ulong> number;
  16.         public List<ulong> Number
  17.         {
  18.             get { return number; }
  19.             set { number = value; }
  20.         }
  21.         public void getzhishu(ulong max)
  22.         {
  23.             number = new List<ulong>();
  24.             number.Add(2);
  25.             number.Add(3);
  26.             for (ulong i = 3; i < max; i+=2)
  27.             {
  28.                 if (iszhishu(i, number))
  29.                 {
  30.                     number.Add(i);
  31.                 }
  32.             }
  33.         }
  34.         private bool iszhishu(ulong i, List<ulong> number)
  35.         {
  36.             ulong hi=i/2;
  37.             ulong num = 0;
  38.             for (int j = 0; j < number.Count; j++)
  39.             {
  40.                 num = number[j];
  41.                 if (num > hi) return true;
  42.                 if (i % num == 0)
  43.                 {
  44.                     return false;
  45.                 }
  46.             }
  47.             return true;
  48.         }
  49.         //程序入口
  50.         public static void Main(string[] args)
  51.         {
  52.             ulong max = 100000;
  53.             suanfa1 sf1 = new suanfa1();
  54.             sf1.StartDateTime = DateTime.Now;
  55.             sf1.getzhishu(max);
  56.             sf1.EndDateTime = DateTime.Now;
  57.             int count = sf1.Number.Count;
  58.             StringBuilder sb = new StringBuilder();
  59.             for (int i = 0; i < count; i++)
  60.             {
  61.                 sb.AppendLine("" + sf1.Number[i]);
  62.             }
  63.             System.Console.Out.Write(sb.ToString());
  64.             System.Console.Out.WriteLine("");
  65.             System.Console.Out.WriteLine("用时:" + ((sf1.EndDateTime.Ticks - sf1.StartDateTime.Ticks) / 10000) + "毫秒");
  66.         }
  67.     }
复制代码
以上代码100000以内0.7秒左右,1000000以内大约40秒……嘛嘛……什么时间的无视好了,反正速度和机器好坏有关。
第一层循环的方法还可以继续优化,通过更快的算法可以找出有质数嫌疑的数字然后再去判断,这样计算效率会更高,明天再来研究看看吧,一天都没睡觉了,现在头昏脑胀的……
梦想世界,在你伸手!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
帖子
6982

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

23
发表于 2010-6-27 17:53:28 | 只看该作者
其实查表法才是最快的~~~
神隐中,偶尔诈尸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2009-8-30
帖子
465
24
发表于 2010-6-27 18:06:19 | 只看该作者
百度一下,你就知道
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-6-18
帖子
171
25
发表于 2010-6-27 18:06:52 | 只看该作者
回复 chaochao 的帖子


    java的 {:nm_6:} 貌似java的效率本身就比C要低些
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2009-8-30
帖子
465
26
发表于 2010-6-27 18:08:17 | 只看该作者
制作格斗游戏用拳头效率最高
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-6-18
帖子
171
27
发表于 2010-6-27 18:09:55 | 只看该作者
回复 bzzdhm 的帖子

说起格斗游戏 KOF是神作
   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2009-8-30
帖子
465
28
发表于 2010-6-27 18:13:18 | 只看该作者
反正我不玩格斗游戏……
我们这学校最流行的格斗游戏就是后操场
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-6-27
帖子
21
29
发表于 2010-6-27 18:15:07 | 只看该作者
嗯  我还记得那次和豌豆射手玩真实格斗游戏的说
结果我都不能攻击 就那样被KO了 TAT

点评

你直接把他放进你自己身体里,这样他就没办法格斗了嘛。  发表于 2010-6-28 04:51
南瓜有一阵子没有听到侄子雷福德的消息了。显然,他的侄子是个大明星,某种……叫什么来着……体育英雄?幻幻球高手?南瓜不甚了解,他只是做好自己的事情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-6-18
帖子
171
30
发表于 2010-6-27 18:19:50 | 只看该作者
回复 南瓜头 的帖子


    你可以和睡莲或者花盆玩嘛,坚果墙也行{:nm_6:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-5 22:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表