六六大顺

原创 2017年01月03日 11:13:27

某古寺的转经筒上贴有6个小圆圈(如图),每个小圆圈中有一个数字,通过专家长期研究后揭示这6个象征祥瑞的数字呈现“六六大顺”特性:

  • 从任一数字开始,顺时针旋转一周得到一个6位数,在得到的所有6个6位数中,设最小的整数为m,其余5个都是m的倍数

转经筒上的6个小圆圈示意图

试求出转经筒上6个数字的分布及最小的6位整数m;


6个整数

1.说明:

(1)、设置枚举循环

显然整数m的6个数字中不含“0”,否则其余5个数中会出现5位数,同时整数m的首位数字为1,否则m的5个倍数中肯定会出现超过6位数;

因而设置m(123456~198765)枚举循环;

(2)、构造旋转整数

对每一个6位整数m通过k(2~6)循环产生其余5个6位整数:

  • 当k=2时,c=10,d=100000,通过i=m/c;j=m%c;n=j*d+i;产生一个旋转整数

  • 当k=3时,c=100,d=10000,通过i=m/c;j=m%c;n=j*d+i;又产生一个旋转整数

  • · · · · · ·

(3)、判别5个倍数

对每一个产生的旋转整数n,判别是否是m的倍数,若n是m的倍数,用x统计倍数的个数;

(4)、打印输出

最后,若x=5(即有5个倍数),则输出整数m,并依次输出其他5个旋转倍数;

2.程序设计:

#include<stdio.h>
int main()
{
   long c,d,i,j,m,n;
   int k,x;
   for(m=123456;m<=198765;m++)      /*枚举首位为1的6位数*/
   {
      x=0;
      for(c=1,k=2;k<=6;k++)
      {
         c=c*10;
         d=1000000/c;
         i=m/c;
         j=m%c;
         n=j*d+i;          /*产生m的一个旋转整数n*/
         if(n%m==0 && n!=m)     /*统计n是m倍数的个数*/
            x++;
      }
      if(x==5)
      {
         printf("六六大顺数m为:%ld \n",m);
         break;
      }
   }
   for(c=1,k=2;k<=6;k++)
   {
      c=c*10;
      d=1000000/c;
      i=m/c;
      j=m%c;
      n=j*d+i;            /*依次输出m的旋转整数n*/
      printf("m旋转得数:%ld=%ld*%ld \n",n,n/m,m);
   }
}

3.程序运行示例及其注意事项:

六六大顺数m为:142857
m旋转得数:714285=5*142857
m旋转得数:571428=4*142857
m旋转得数:857142=6*142857
m旋转得数:285714=2*142857
m旋转得数:428571=3*142857

由运行可知,满足要求m的5个旋转数都是m的倍数,这样的m是唯一的,也就是说,转经筒上所贴神秘数字序列是唯一的,如图所示:

转经筒上6个数字分布图

顺便指出,以上所得六六大顺数m的7倍更为神奇: 142857*7=999999


延伸探索

1.说明:

自然延伸到一般w个数字是否存在类似特性的w位整数?

或者对一般w个数字,我们放宽要求:

  • 探索在其余w-1个旋转整数中至少存在2个倍数

2.程序设计:

#include<stdio.h>
int main()
{
   long c,d,i,j,m,n,t,p[10];
   int k,w,x;
   printf("请输入位数w:");
   scanf("%d",&w);
   t=1;
   for(k=1;k<=w;k++)
      t=t*10;
   for(m=t/10;m<=t/2;m++)    /*枚举w位数*/
   {
      x=0;
      for(k=0;k<=9;k++)
         p[k]=0;
      for(c=1,k=2;k<=w;k++)
      {
         c=c*10;
         d=t/c;
         i=m/c;
         j=m%c;
         n=j*d+i;         /*n为m的一个换位数*/
         if(n!=m && n%m==0)
         {
            x++;
            p[n/m]=n;
         }
      }
      if(x>=2)
      {
         printf("%ld:  ",m);
         for(k=2;k<=9;k++)
            if(p[k]>0)
               printf("%ld*%ld=%ld ",m,k,p[k]);
         printf("\n");
      }
   }
}

3.程序运行示例及其注意事项:

请输入位数w:6
142857:  142857*2=285714 142857*3=428571 142857*4=571428 142857*5=714285 142857*6=857142
153846:  153846*3=461538 153846*4=615384
230769:  230769*3=692307 230769*4=923076
285714:  285714*2=571428 285714*3=857142

注意:输入位数w为其他值时,没有任何输出,甚至放宽至其余w-1个旋转整数中至少存在一个倍数都没有

版权声明:本文为博主原创文章,博主欢迎大家转载!

2014年6月6日,六六大顺

2014年6月6日,六六大顺,小巫总算等到自己穿上学士服的日子,在这么一天,顺利地把毕业照拍完了,有点疲惫但还是挺开心的,因为我总算是修成正果了,总算要摆脱学生的身份了。在CSDN博客里,记录了我大学...
  • mosterpo
  • mosterpo
  • 2014年06月07日 18:03
  • 160

六六三十六计

利而诱之,乱而取之,实而备之,强而避之,怒而挠之,卑而骄之,佚而劳之,亲而离之,攻其无备,出其不意。 六六三十六,数中有术,术中有数。阴阳燮理,机在其中。机不可设,设则不中。         ○第一套...
  • zwzqfx
  • zwzqfx
  • 2007年07月03日 12:38
  • 406

怒的背后(六六)

我连发两天微博,怒骂一切不合规矩和不讲道理的人。 第一天说的是,巴黎戴高乐机场内,一名中国老人拿出国内惯用的吵闹政策,差点把人家值机柜台砸了,要求不是自己航空公司的值机柜台给自己办票...
  • djd1234567
  • djd1234567
  • 2015年07月08日 23:13
  • 1716

不抱怨--六六

如果你研读马云的人生,在前37年里,他的人生就充斥着两个字:失败。37岁之后,他突然就飞黄腾达了,秘诀就四个字:永不抱怨。我对这四个字的体会越来越深。原因是我接触的成功人士近期进入核爆炸状态,我和这些...
  • zhangfn2011
  • zhangfn2011
  • 2011年04月21日 10:04
  • 364

哈佛幸福课-幸福笔记

幸福笔记 “我是真的什么都有,我就是想有什么我都可以买什么,但是我居然这么痛苦,所以我就知道了这个幸福跟这个钱多少真的是没关系,而且钱多的话或者名气大,如果成功,如果你没有管理好你自己往往更容易让你...
  • djd1234567
  • djd1234567
  • 2016年09月12日 17:16
  • 523

快递老大顺丰,首次披露自己的技术“护城河”

划重点: 顺丰上半年营收321.61亿,雷锋网(公众号:雷锋网)对比发现比申通、韵达、中通、圆通四家上半年累计总营收多85亿,顺丰交出了一份漂亮的成绩单。 2017年上半年顺丰净利润为18.84亿...
  • Dzz2seiN13YV
  • Dzz2seiN13YV
  • 2017年08月31日 16:14
  • 52

六六:月薪两千也要有一万元的范儿

我写《双面胶》的时候,没拿剧本费,甚至在编剧名单上,也没有出现我的名字。如果大家现在回头去查,编剧是滕华瞍和曹盾。尽管字幕上没有六六,我依旧获得了白玉兰奖最佳编剧的提名。   范儿六六青年文摘201...
  • yanzong09
  • yanzong09
  • 2012年06月17日 23:56
  • 1512

作家六六事件,直面情变:死撑只会沦为笑柄

这两天稍稍关注下新闻都知道作家六六的事,也很多人在作评论,都是支持六六的,六六会不会因此感到丝毫的安慰。      人生一世总是战斗不断呀,职场上的人际关系,工作上的难题,生活的繁琐事,身体上的疾病...
  • fog911811
  • fog911811
  • 2012年03月31日 11:10
  • 492

Java for Web学习笔记(六六):Service和Repository(1)抽象分层

抽象分层的Controller-Service-Repository 样式 对数据的处理实际会比较复杂,包括 Validation:数据合法性校验,有些输入是可选的,有些是限定某些值,这些需要检查A...
  • flowingflying
  • flowingflying
  • 2017年06月22日 22:18
  • 1024

Pro Android学习笔记(六六):安全和权限(3):Provider权限

访问其他应用的content provider 我们在ProPermission中提供了一个content provider,成为PrivProvider,然后在ProPermissionClient...
  • flowingflying
  • flowingflying
  • 2013年12月19日 11:37
  • 18281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:六六大顺
举报原因:
原因补充:

(最多只允许输入30个字)