找回密码
 欢迎注册
楼主: zpz77777

[原创] 年龄为出生年份的数码之和——用mathcad解趣味数学题

[复制链接]
发表于 2013-10-5 17:15:01 | 显示全部楼层
这是我第一次看题目后得到的代码
Clear["Global`*"];(*Clear all variables*)
n=Range[1900,2011];(*出生年份*)
(*挑出那些年龄等于出生年份的数字的和的 出生年份数字*)
Select[n,((2013-#)==Total@IntegerDigits@#)&]
我按照我的理解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-10-5 17:25:47 | 显示全部楼层
Clear["Global`*"];(*Clear all variables*)
n=Range[1900,2011];(*出生年份*)
(*挑出那些年龄等于出生年份的数字的和的 出生年份数字*)
Select[n,Mod[(2013-#),9]==Mod[Total@IntegerDigits@#,9]&]
这个代码比你的简单吧,比mathcad简单吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-10-7 10:59:29 | 显示全部楼层
设年份为y,

如果 y mod 9为单数,则题目无解。
如果 y mod 9为双数, $ y mod 9=2k$,则通解为 $9d+k$ 。d=[0,1,2,3,....]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-10-7 16:55:12 | 显示全部楼层
Select[Range[1900,2011],(2013-#)==Total@IntegerDigits@#&]
一行程序搞定!!!!!!!!!!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-10-7 16:56:04 | 显示全部楼层
zpz77777 发表于 2011-6-24 06:36
老朽不懂Mathematica,但2楼的答案仅仅是整个一组答案的一个特例,这种问题有无穷多答案,所以原问题才给 ...

Select[Range[1900,2011],(2013-#)==Total@IntegerDigits@#&]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-12-23 19:08 , Processed in 0.023284 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表