数学好做 + 数学易做 = 易做好数学

一个简单又有趣的题目

简单:因为编程枚举很方便,验证结果是无解的。
有趣:用数学方法证明它无解,还是有点意思的。


编程不复杂。 因为计算量小,不需要考虑效率,用 Fortran 写了一段可读性好代码,枚举数值写入字符串,按照题意利用字符串进行比对。程序代码附在文末。


以下是数学方法求证本题无解

用字母代替汉字,输入更方便一点。

sxhz+sxyz = yzhsx
由这个表达题意的形式方程得出两个初步结论:
y是加法的进位,所以,y = 1
个位数字 z+z 得到 x,无论进位与否,x 一定是偶数

据此,形式方程为
sxhz+sx1z = 1zhsx

转换成用于分析的计算方程
1000s+100x+10h+z+1000s+100x+10+z = 10000+1000z+100h+10s+x
10000-1990s+90h-10+998z-199x = 0
1000-199s+9h-1+(998z-199x)/10 = 0

1000-199s+9h-1 为整数,方程右边也是整数,得出:
(998z-199x)/10 必须是整数
(998z-199x)/10
= (1000z-200x-2z+x)/10
= 100z-20x-(2z-x)/10
因为 2z-x ≤ 2*9-0 = 18
所以:2z-x = 10

由初步结论 x 一定是偶数,具体分析:

x = 2,z = 1 或 6,不成立
x = 4,z = 2 或 7,不成立
x = 6,z = 3 或 8,不成立
x = 8,z = 4 或 9,不成立

对于 x = 0,z = 5 的情形:
1000-199s+9h-1+(9985-1990)/10 = 0
h = (199s-1498)/9
199s-1498 > 0,s > 7.5…,s 可以取 8 或 9
代入上式,无整数解

对于 x = z = 0 的情形:
1000-199s+9h-1 = 0
h = (199s-999)/9
199s-999 > 0,s > 5.02…,s 可以取 6、7、8、9
代入上式,只有 s = 9 时,h 有整数解 s = 88 > 9,不符题意

综上,计算方程无解;即:本题无解。


附:Fortran 代码


$freeform

! 数学好做 + 数学易做 = 易做好数学
! sxhz + sxyz = yzhsx
! a + b = c

! 2023-09-23
! szw_sh@163.com


character*4 a,b
character*5 c

do i=1000,9999                                        ! 枚举 sxhz

   write(a,'(i4)') i                                  ! 写入字符串 a

   do j=1,9                                           ! 枚举 sxyz 的 y

      b=a                                             ! 写入字符串 b
      write(b(3:3),'(i1)') j
      read(b,'(i4)') k

      kk=i+k                                          ! 求和 yzhsx
      if(kk.lt.10000) cycle
      write(c,'(i5)') kk                              ! 写入字符串 c

      if(a(1:2).ne.c(4:5)) cycle                      ! 检验 abc 相同部分
      if(a(3:3).ne.c(3:3)) cycle                      ! 不符合题意的,跳过
      if(a(4:4).ne.c(2:2)) cycle
      if(b(3:3).ne.c(1:1)) cycle

      m=m+1                                           ! 计数,输出
      write(*,'(i4,a,i4,a,i5)') i,'+',k,'=',kk

   end do

end do

write(*,'(//a,i1)') 'total = ',m                      ! 输出解的总数

end

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值