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

[讨论] 猜猜我的手机号码?

[复制链接]
发表于 2009-8-21 19:09:02 | 显示全部楼层
仅130就很多 N ------------ 13062847597 13072814569 13054728691 13086497257 13042589687 13052887649 13089562847 13029568477 13058922467 13054267189 13062845977 13028649587 13068541279 13071265849 13012874569 13021948657 13042876559 13029487651 13048659287 13024258697 13024859761 13096485217 13021475869 13085682749 13094267581 13049262587 13048252967 13074958627 13096572847 13028614579 13042256879 13042625987 13087267549 13029268547 13048965827 13028956471 13069285247 13048576259 13049685527 13059278641 13024875967 13048725869 13057162849 13068295547 13067284597
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-8-21 20:54:06 | 显示全部楼层
添加多一个限制: 18开头,3结尾
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 09:01:11 | 显示全部楼层
12# 282842712474 如果你没有算过,估计还是很多,你看130...7的个数就能猜到
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 09:04:45 | 显示全部楼层
我算过了,仅189...3这种形式的就有1426个.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 11:29:31 | 显示全部楼层
你用什么工具算的?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 13:00:50 | 显示全部楼层
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4. int count=0;
  5. int prime[]={
  6. };
  7. int Hash[10000][200];
  8. void Init(){
  9. for( int i=0; i<sizeof(prime)/sizeof(prime[0]); ++i ){
  10. Hash[prime[i]%10000][++Hash[prime[i]%10000][0]]=prime[i];
  11. }
  12. }
  13. int main()
  14. {
  15. int time=GetTickCount();
  16. Init();
  17. __int64 T=100000, f=10, lowbound=T*T, upbound=T*T*f;
  18. int i, j;
  19. for( i=1; i<10000; i+=2 ){
  20. for( j=i; j<10000; j+=2 ){
  21. if( (i%2==0 || i%5==0 || j%2==0 || j%5==0) )
  22. ;
  23. else{
  24. int k=(i*j)%10000;
  25. if( k%10==3 ){
  26. int dig[4];
  27. int hash[10]={0,0,0,0,0,0,0,0,0,0};
  28. for( int g=0; g<4; ++g ){
  29. dig[g]=k%10;
  30. // cout<<dig[g]<<endl;
  31. hash[dig[g]]++;
  32. k/=10;
  33. }
  34. for( g=0; g<10; ++g )
  35. if( hash[g]>2 ) break;
  36. if( g==10 ){
  37. int t1, t2;
  38. for( t1=1; t1<Hash[i][0]; ++t1 ){
  39. for( t2=1; t2<Hash[j][0]; ++t2 ){
  40. __int64 temp1=Hash[i][t1], temp2=Hash[j][t2], s=temp1*temp2, temp=s;
  41. //printf("s====%I64d\n",s);
  42. if( temp>lowbound && temp<upbound ){
  43. int digx[10]={0,0,0,0,0,0,0,0,0,0};
  44. while( temp ){
  45. digx[temp%10]++;
  46. temp/=10;
  47. }
  48. int twice=0;
  49. for( int h=0; h<10; ++h ){
  50. if( digx[h]==1 ) continue;
  51. if( digx[h]==2 ) twice++;
  52. if( twice>2 ) break;
  53. if( digx[h]!=1 && digx[h]!=2 ) break;
  54. }
  55. if( h==10 ){
  56. if( s/100000000==189 )//|| s/1000000000==15 || s/1000000000==18 )
  57. printf("%d : %I64d\n",++count, s);
  58. }
  59. }
  60. }
  61. }
  62. // ++count;//cout<<"("<<i<<","<<j<<")\n";
  63. }
  64. }
  65. }
  66. }
  67. }
  68. cout<<"time : "<<GetTickCount()-time<<" ms\n";
  69. //cout<<count<<endl;
  70. //cout<<sizeof(prime)/4<<endl;
  71. return 0;
  72. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-8-22 14:03:19 | 显示全部楼层
189...3这种形式的就有1426个. 这1426个都可以分解为两个不小于10000的素数相乘吗? 当然,如果逐个分解,运算量是大了点,但是感觉上用计算机分解一个11位数不用多久时间
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 15:16:54 | 显示全部楼层
186 188 189一共 3203 rows selected.

18.rar

29.82 KB, 下载次数: 3, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

售价: 1 枚金币  [记录]

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-8-22 15:44:46 | 显示全部楼层
本帖最后由 282842712474 于 2009-8-22 18:03 编辑 189开头,43结尾,其中一个素数是5位数,11个数字分别为:01123456789
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-8-22 17:28:42 | 显示全部楼层
18952746103 == 1050421 * 18043 18910645723 == 480661 * 39343 18920617453 == 774071 * 24443 18967250413 == 34543 * 549091 18960541723 == 1045061 * 18143 18956041723 == 276961 * 68443
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 21:13 , Processed in 0.039252 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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