找回密码
 欢迎注册
楼主: mathe

[擂台] csdn number

[复制链接]
发表于 2008-4-22 21:20:30 | 显示全部楼层


我粘贴那个分析代码
你们自己转C

procedure TForm1.FindText(CurrentLine, CutCharLength: integer);
var
  i: integer;
  s: string;
begin
//
   if CurrentLine = 0 then
   begin
     if CutCharLength = 0 then
     begin
       s := '';
       for I := 0 to FactorMemo.Lines.Count - 1 do
         if LineEnable[i] then
           s := s + FactorMemo.Lines[i];
       ResultMemo.Lines.Add(s);
     end
     else
       if Length(FactorMemo.Lines[0]) = CutCharLength  then
       begin
         LineEnable[0] := False;
         s := '';
         for I := 0 to FactorMemo.Lines.Count - 1 do
           if LineEnable[i] then
             s := s + FactorMemo.Lines[i];
         ResultMemo.Lines.Add(s);
         LineEnable[0] := True;
       end;
     exit;
   end;

   if Length(FactorMemo.Lines[CurrentLine]) > CutCharLength then
     FindText(CurrentLine-1, CutCharLength)
   else
   begin
     FindText(CurrentLine-1, CutCharLength);
     LineEnable[CurrentLine] := False;
     FindText(CurrentLine-1, CutCharLength - Length(FactorMemo.Lines[CurrentLine]));
     LineEnable[CurrentLine] := True;
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to 1023 do
    LineEnable[i] := true;
  CutCharLength := StrToInt(CutEdit.Text);
  ResultMemo.Lines.Clear;
  FindText(FactorMemo.Lines.Count, CutCharLength);
end;
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-22 21:39:55 | 显示全部楼层
原帖由 medie2005 于 2008-4-22 20:46 发表
再找更大的csdn number,除了破记录,其实意义也不大了.
有那位能找到满足factor(n)/n=3的csdn number?

这个应该小的数的概率更加大一些,建议枚举$10^14$以内的数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-23 11:26:59 | 显示全部楼层
我感觉factor(n)/n=3会是比较大的数
令n=p1*p2*p3....*pk,且p1<p2<p3<...<pk
考虑p2,p3....,pk,有如下结论:
如果其中有以3开头的因子,则其他全部以9开头
如果其中有以4开头的因子,则其他全部以9开头
如果其中有以5开头的因子,则其他全部以9开头或至多包含一个以7或8开头
如果其中有以6开头的因子,则其他全部以9开头或至多包含一个以7开头 ;或两个以8开头 ;或一个以7开头一个以8开头
这样,我们可以分型查找,并使用9开头的素数调节比例大小,直到正好整除。
对于无限的素数,很可能会出现这种,但我相信会很大
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-23 13:35:20 | 显示全部楼层
原帖由 shshsh_0510 于 2008-4-23 11:26 发表
我感觉factor(n)/n=3会是比较大的数
令n=p1*p2*p3....*pk,且p1


为啥是以9开头呢?没看明白。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-23 13:38:15 | 显示全部楼层
原帖由 gogdizzy 于 2008-4-23 13:35 发表


为啥是以9开头呢?没看明白。

me too
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-23 13:55:16 | 显示全部楼层
上边那贴的计算有点错误,但意思应该差不多。
对于(head)(p)(tail)型整数

head=999999999
tail=99999999999999999
计算p产生的影响
如p=300,那么$99999999930099999999999999999/(999999999*300*99999999999999999)=3.3 >3$
如p=400,那么$99999999940099999999999999999/(999999999*400*99999999999999999)=2.5<3$
实际的tail,head本身产生的影响肯定大于999999999,和99999999999999999,所以就更不可能小于3.3了
对于p2=499,p3=599
$99999999949959999999999999999999/(999999999*499*599*99999999999999999)=3.34 >3$
这个不行

$99999999949969999999999999999999/(999999999*499*699*99999999999999999)=2.87 <3$
这个可以,就是说4开头的可以和一个6开头的共存
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-23 14:03:56 | 显示全部楼层
哦,知道了,你是限定${"factor"(n)}/n=3$的情况。不过这样还不能完全排除首位是3的素数,比如399也是3开头的数,但是代入上面的除法结果就会小于3.倒是可以排除首位是1和2的所有素数。其实还有可以得出因子数目也应该不会很多等等。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-23 14:14:16 | 显示全部楼层
可以随便给出p1,然后用若干9开头的素数逼近3,因为可以构造出任意多个9开头的素数,所以显然可以任意逼近3,但会不会正好整除了呢? 对于无穷的素数,我觉得会,都是可数基数的嘛
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-23 17:24:25 | 显示全部楼层


只能逼近
我觉得不会完全等于3
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-24 20:45:10 | 显示全部楼层
我也这么觉得了
两个可数序列,如果比较随机,相交的几率确实不大
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-25 08:28 , Processed in 0.063034 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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