lwl 发表于 2009-9-4 19:09:19

2/3

天下无苕 发表于 2009-10-16 23:51:00

看看答案

somebody 发表于 2009-10-17 02:53:58

好题~

hphphphphp 发表于 2010-2-4 11:31:32

注册了,为了看答案!!!!!!!!!!!!!!

zhang124 发表于 2011-2-1 14:18:09

为什么
本帖隐藏的内容需要积分高于 100000 才可浏览?

叶开 发表于 2011-7-28 16:59:10

关键在于六位*7=六位,那么第一位是1,且七位时为8/9

我爱一条柴 发表于 2012-1-25 15:02:28

很好奇,看看

xijiaochang 发表于 2012-2-28 18:48:51

俺是数学菜鸟。

mathematica 发表于 2012-4-26 15:40:46

8# guetsxjm
我只能看懂你的一小部分的话,再次基础上我得到a=1,b=1或者2,
然后我编程,得到结果!
/*此程序使用pari/gp运行*/
/*程序编制时间:2012年4月26日*/
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\编写两个子函数
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/*获得整数n从右向左数的第d位数字,
比如GetDigits(7458,3)=4      */
GetDigits(n,d)=
{
    (n%10^d-n%10^(d-1))/10^(d-1)
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/*检查n是否是d位数,如果是,返回1,如果不是d位数,则返回0
然后利用返回的a的值判定是否继续下一个循环*/
CheckDigits(n,d)=
{
    local(a);
    a=0;
    if((n>=10^(d-1))&(n<(10^d)),a=1);
    a
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
{
    for(a=1,1,
      for(b=1,2,
            for(c=0,9,
                for(d=0,9,
                  for(e=0,9,
                        for(f=1,9,
                            for(g=0,9,
                              for(h=0,9,
                                    for(i=0,9,
                                        chushu=a*10^5+b*10^4+c*10^3+d*10^2+70+e;\\形成除数
                                        shang=f*10^4+g*10^3+700+h*10+i;\\形成商
                                        beichushu=chushu*shang;\\得到被除数,也就是两者的成绩
                                        if(!CheckDigits(beichushu,10),next);\\如果被除数不是10位数,则继续下一个循环
                                        if(GetDigits(beichushu,8)!=7,next);\\如果被除数倒数第八位不是7,那么继续下一个循环
                                        x4=GetDigits(beichushu,4);\\得到被除数的千位
                                        x3=GetDigits(beichushu,3);\\得到被除数的百位
                                        x2=GetDigits(beichushu,2);\\得到被除数的十位
                                        x1=GetDigits(beichushu,1);\\得到被除数的个位
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        \\进行除法运算
                                        c0=(beichushu-beichushu%10000)/10000;\\被除数舍掉后四位
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        \\第01次除法
                                        b1=chushu*f;if(!CheckDigits(b1,6),next);\\除数与商的各个数字的乘积,并检查乘积的位数
                                        a1=c0-b1;if(!CheckDigits(a1,6),next);\\计算余数,并且得到余数,并检查余数的位数
                                        c1=a1*10+x4;\\为下一次除法做准备
                                        if(GetDigits(a1,1)!=7,next);
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        \\第02次除法
                                        b2=chushu*g;if(!CheckDigits(b2,7),next);
                                        a2=c1-b2;if(!CheckDigits(a2,5),next);
                                        if(GetDigits(a2,4)!=7,next);
                                        c2=a2*10+x3;
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        \\第03次除法
                                        b3=chushu*7;if(!CheckDigits(b3,6),next);
                                        if(GetDigits(b3,5)!=7,next);
                                        a3=c2-b3;if(!CheckDigits(a3,6),next);
                                        c3=a3*10+x2;
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        \\第04次除法
                                        b4=chushu*h;if(!CheckDigits(b4,7),next);
                                        if(GetDigits(b4,3)!=7,next);
                                        a4=c3-b4;if(!CheckDigits(a4,5),next);
                                        c4=a4*10+x1;
                                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                        if(c4!=(chushu*i),next);
                                        \\结束上面的所有的操作,并且打印结果
                                        print()
                                        )
                                    )
                              )
                            )
                        )
                  )
                )
            )
      )
}

mathematica 发表于 2012-4-26 15:41:32

代码如下:
如果代码转化有错误的话,请看附件的代码!
页: 1 2 [3] 4 5 6 7
查看完整版本: 七个7问题