一个整数划分连续自然数的和的分法
http://zhidao.baidu.com/question/156653473.html?push=reducen个连续自然数相加,和能否等于1991,如果能分别列出结果
貌似以前的公务员考试题曾有一题类似,方法好像也不少,欢迎大家探讨. 把1991进行因式分解 设k个连续自然数之和为1991,最小的自然数为n
则 nk+k(k-1)/2=1991
n=(3982-k(k-1))/2k,如果n是自然数即为解 不只1991的因子,还有2及2乘各因子的数都是 嗯,答案有三种
994,995
176,177,....,186
80,81,...,101 曾笨笨地暴力了一下:
f := Flatten@Table], {i, x - 1}];
Count, 1991]
(*Position, 1991] // Length*)
Out:3 http://zdu6vg.bay.livefilestore.com/y1pbJJ9Xfbp_svmeLmHcnb04ewOL5jtIKM6BmPzyQX0kzgCklALUAh75i8xVoRPsEAyvN_plij8cpBuTMPwGlCqcju_rDjBdass/%E8%BF%9E%E7%BB%AD%E8%87%AA%E7%84%B6%E6%95%B0%E7%9A%84%E5%92%8C.jpg 7# chyanog
最懒的代码:{ToRules@Reduce == 1991 && m > 0 && n > 0, Integers]} 8# wayne
如果题目扩展一下:一整数划分为连续素数的和(好像和Project Euler 前50题里面有个题差不多)只怕就不能偷懒用Reduce了吧。\(^o^)/~不知道有没较好的算法 跟素数挂钩的话,一般都没有什么特别的算法啊
页:
[1]