| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5726 人关注过本帖
标题:关于(1+x)的n次方的问题
只看楼主 加入收藏
edward_lu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-9
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:16 
关于(1+x)的n次方的问题
题目是要求(1+x)^m
用2项式定理展开就是1+ (m/1!)x^1+ [m(m-1)/2!]x^2+[m(m-1)(m-2)/3!]x^3....[m!/(m-1)!]x^(m-1)+(m!/m!)x^m,那种算法,老师一定要求用2项式定理这么编出来
编到这里实在编不下去了,来请教下大家前面这样可以吗,接下来该怎么写,才学了一个月的菜鸟,大家帮帮忙,谢谢了
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
 int m,i,a,b,t;
 float x=0.0,c,sum;
 
 cout<<"please give m:"<<endl;
 cin>>m;
 cin>>x;
 t=m+1-i;
for(i=1;i<=m;i++)
{
{   
    b*=i;
}
    for(t;t<=m;t++)
{  
    a*=t;
 c=a/b;
}
  

[ 本帖最后由 edward_lu 于 2010-12-9 17:54 编辑 ]
搜索更多相关主题的帖子: 老师 
2010-12-09 08:19
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:0 
问题没看懂。。。我比较习惯把a的b次方,描述成a^b。。。。直接用中文“的次方”看的好晕。呵呵
2010-12-09 10:12
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
他说的算法应该是二项式定理。

迭代的是人,递归的是神。
2010-12-09 10:34
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
通过递归把求阶乘的函数写出来。
2010-12-09 12:08
书侠客
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-12-9
收藏
得分:0 
题目太不清楚了,重新把原题目贴上来。
2010-12-09 16:28
edward_lu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-9
收藏
得分:0 
帖子已经编辑过了,大家再帮下忙,谢谢了
2010-12-09 17:54
edward_lu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-9
收藏
得分:0 
再顶下,有么有大侠帮个忙哈
2010-12-09 22:36
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
怎么会有出这种怪问题的老师。让算 (1+x)^m 就是了,还非得用二项式定理…… 又不是让求某项的系数……
2010-12-09 22:42
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
给个公式可能更方便你在程序里迭代。

用组合数写二项式公式是
(1+x)^m = ΣC(k,m)x^k
里面的 C(k,m) 可以用加法算出来:
C(k+1,m) = C(k,m-1) + C(k-1,m-1)
2010-12-09 22:46
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
糊涂了,上面的那个公式这里不好用……

用这个:
C(k+1,m) = (k+1)!/m!(m-k-2)! = (k+1)*(m-k-1) * k!/m!(m-k-1)! = (k+1)*(m-k-1) * C(k,m)
就是说前一项的系统算完了,后一项的可以直接用那个值。不用重新算。

上面这个最后一步抄错了,虽然你引用了,我还是改一下。最后的那个地方用乘号。

无语,我组合数的公式整个背错了。再改改,上面那个就不用看了……

先把定义写出来:
C(k,m) = m!/k!(m-k)!
所以:
C(k+1,m) = m!/(k+1)!m!(m-k-1)! = (m-k)/(k+1) * m!/k!(m-k)! = (m-k)/(k+1) * C(k,m)

之前那是心算的,水平有所下降了。还是用纸推靠点谱。

[ 本帖最后由 pangding 于 2010-12-9 23:08 编辑 ]
2010-12-09 22:52
快速回复:关于(1+x)的n次方的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012930 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved