学习小结

下列除式中仅在商中给定了一个7,其他全是任意数字,请还原

1               X7XXX

           ______________

  2  XXX|XXXXXXXX

 3           XXXX

 4      _____________

 5           XXX

 6           XXX

 7      _______________

 8           XXXX

 9           XXX

 10   _____________

  11          XXXX

  12         XXXX

   13  ____________

                       0

程序:

#include <stdio.h>



int main()
{
        int i;
int j;
int k;
int m;
int n;
int l;
int x;
int y;
int z;
int t;
int e;
int p;
int q;
int cont = 0;
int a[4];
int c[5];
    
for (a[0] = 1000; a[0] < 10000; a[0]++)
{
for (a[1] = 0; a[1] < 10; a[1]++)
{
for (a[2] = 0; a[2] < 10; a[2]++)
   {
for (a[3] = 10; a[3] < 100; a[3]++)
{
                    for (j = 100; j < 1000; j++)
{
i = a[0]*10000+a[1]*1000+a[2]*100+a[3];
x= i/j;
if (i % j == 0 && x > 10000 && x < 100000)
{
for (k = 0, l = 10000; k < 5; k++)
{
c[k] = x/l;
x %= l;
l /= 10;
}
x = i/j;
y = c[0]*j;
z = (a[0] - y)*10 + a[1];
m = c[1] * j;
n = (z - m)*10 + a[2];
e = c[2] * j;
p = (n - e)*100 +a[3];
q = (c[3]*10+c[4])*j;
if (c[1] == 7 && p == q && y > 1000 && y < 10000 && z > 100 &&
    z < 1000 && m > 100 && m < 1000 && n > 1000 && n < 10000 &&
e > 100 && e < 1000 && p > 1000 && p < 10000 && c[3] == 0)
{
cont++;
printf("NO. %d : %d/%d = %d\n", cont, i, j, x);
printf("%d %d %d %d %d %d %d\n",y,z,m,n,e,p,q);
break;
}
}
}
if (cont)
break;
}
if (cont)
break;
}
if (cont)
break;
}
if (cont)
break;
}
return 0;
}
将此题的被除数分为4部分,第一部分是前4个数,第二部分是第五个数,第三部分是第六个数,第四部分是最后两个数,依次与商的各位相乘。这里需要注意商的第四位是0,因为五位数的商只有四个乘积且第一二三次一次退一位,第四次退了两位。加上判定各个数的位数,遍历判断即可求出答案为:12128316/124 = 97809
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值