将 1/2024 拆分为 2023 个不同的埃及分数之和

就埃及分数拆分而言,通常拆分的数量越多,拆分方案也越多。 1/2024 拆分为三个埃及分数的方案就有 14318 个。本题的拆分方案数是天文数量级的。

分析:

我们只需要找到一组特解,最好是有规律、易实现的方法。
2024 = 2*1012,1/2024 = 1/1012 * 1/2,可以从 1/2 拆分为两个埃及分数来着手

1/2 = 1/3+1/6, 这是一个很有用的递推关系式,即:
1/k * (1/2) = 1/k * (1/3) + 1/k * (1/6),

并且,每一次拆分后的第二项以同样规则继续拆分:
1/(3k) * (1/2) = 1/(3k) * (1/3) + 1/(3k) * (1/6),

如此,一直拆分到第 2022 次,即得到 2023个不同的埃及分数。

拆分的结果为:

1/2024
= 1 / ( 3 * 1012 ) + 1 / ( 6 * 1012 )
= 1 / ( 3¹ * 1012 ) + 1 / ( 3² * 1012 ) + 1 / ( 3² * 2 * 1012 )
= 1 / ( 3¹ * 1012 ) + 1 / ( 3² * 1012 ) + 1 / ( 3³ * 1012 ) + … + 1 / ( 3²⁰²² * 1012 ) + 1 / ( 3²⁰²² * 2 * 1012 )

简化为公式表达:

1/2024 = sum [ 1 / ( 3ⁿ * 1012 ) ] + 1 / ( 3²⁰²² * 2 * 1012 ) ;n = [ 1,2022 ] 。
最后一个埃及分数的分母是一个 969 位的大整数。

画蛇添足一下:

写了一段 Fortran 代码,用分数形式进行了验算。附源代码:


$freeform

! 计算 a/b = sum[1/(3^n*1012)]+1/(3^2022*2*1012);n=[1,2022] 
! szw_sh@163.com

include 'int1k.for'                              ! 大整数模块
use big_integers_module
type(big_integer) a,b,c                          ! a/b 分数累加值,c 第i个分数的分母

c=1012
a=0
b=c

do i=1,2022                                      ! 累加前2022项

   c=c*3                                         ! 第i个分数的分母

   a=a*3+1                                       ! 通分并累加分数 a/b
   b=b*3

end do

c=c*2                                            ! 计算并累加第2023个分数
a=a*2+1
b=b*2

do i=1,2024,2                                    ! 对a/b进行约简

   ii=i
   if(ii.eq.1) ii=2

   do while(modulo(a,ii)+modulo(b,ii).eq.0)
      a=a/ii
	b=b/ii
   end do

end do                                           ! 输出计算结果

write(*,'(/a)')  '计算 a/b = sum[1/(3^n*1012)]+1/(3^2022*2*1012);n=[1,2022]'
write(*,'(/4a)') 'a/b = ',trim(char(a)),'/',trim(char(b))

write(*,'(a)') trim(char(c))
write(*,*) len_trim(char(c)) 

end

结果输出:


计算 a/b = sum[1/(3^n*1012)]+1/(3^2022*2*1012);n=[1,2022]

a/b = 1/2024

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值