找回密码
 欢迎注册
查看: 23399|回复: 9

[转载] 一个整数划分连续自然数的和的分法

[复制链接]
发表于 2010-6-1 11:19:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
http://zhidao.baidu.com/question/156653473.html?push=reduce n个连续自然数相加,和能否等于1991,如果能分别列出结果
貌似以前的公务员考试题曾有一题类似,方法好像也不少,欢迎大家探讨.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-1 11:50:36 | 显示全部楼层
把1991进行因式分解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-1 12:18:45 | 显示全部楼层
设k个连续自然数之和为1991,最小的自然数为n 则 nk+k(k-1)/2=1991 n=(3982-k(k-1))/2k,如果n是自然数即为解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-1 13:25:09 | 显示全部楼层
不只1991的因子,还有2及2乘各因子的数都是
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-1 13:39:02 | 显示全部楼层
嗯,答案有三种 994,995 176,177,....,186 80,81,...,101
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-6-1 14:30:57 | 显示全部楼层
曾笨笨地暴力了一下: f[x_] := Flatten@Table[Rest@Accumulate[Range[i, x]], {i, x - 1}]; Count[f[1000], 1991] (*Position[f[1000], 1991] // Length*) Out:3
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-6-1 14:56:20 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-2 17:44:20 | 显示全部楼层
7# chyanog 最懒的代码:
  1. {ToRules@Reduce[Sum[m + ii, {ii, 1, n}] == 1991 && m > 0 && n > 0, Integers]}
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-6-3 22:14:28 | 显示全部楼层
8# wayne 如果题目扩展一下:一整数划分为连续素数的和(好像和Project Euler 前50题里面有个题差不多)只怕就不能偷懒用Reduce了吧。\(^o^)/~不知道有没较好的算法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-4 07:46:16 | 显示全部楼层
跟素数挂钩的话,一般都没有什么特别的算法啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-22 18:22 , Processed in 0.024266 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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