C语言中p=(1 r) n,如何计算p=c/(1+r)+c/(1+r)*(1+r)+........+c/(1+r)的n次方+m/(1+r)的n次方
littleOStar
/*
*?計(jì)算?p?=?c/(1+r)?+?c/(1+r)*(1+r)?+?……?c/(1+r)的n次方,?n?暫定為50
*
*?<1>假設(shè)??t?=?(1+r)
*?結(jié)果?p?=?c/t?+?c/t*t?+?……?+?c/t的50次方
*
*?<2>提取出c
*?結(jié)果?p?=?c?*?(1/t?+?1/t*t?+?……?+?1/t的50次方)
*
*?<3>假設(shè)??x?=?(1/t)??==>??x?=?1/(1+r)
*?結(jié)果?p?=?c?*?(x?+?x*x?+?……?+?x的50次方)
*
*?<4>簡(jiǎn)單分析下
*?只需計(jì)算?(x?+?x*x?+?……?+?x的50次方)
*
*?x
*?=?x//?n=1的情況
*
*?x?+?x*x
*?=?x*(1?+?x)//?n=2的情況
*
*?x?+?x*x?+?x*x*x
*?=?x*(1?+?x?+?x*x)
*?=?x*(1?+?x*(1?+?x))//?n=3的情況
*
*?x?+?x*x?+?x*x*x?+?x*x*x*x
*?=?x*(1?+?x?+?x*x?+?x*x*x)
*?=?x*(1?+?x*(1?+?x?+?x*x))
*?=?x*(1?+?x*(1?+?x*(1?+?x)))//?n=4的情況
*
*?//?總結(jié):
*?//?n>=2時(shí),?n的結(jié)果總是等于(n-1)的結(jié)果加上1后,?再乘以x
*//?n=50,?則需要計(jì)算?50-2=48?次
*
*/
double?r?=?4;?//?假設(shè)?r?=?4
double?x?=?1/(1+r);?//?方便計(jì)算的??x
double?c?=?10;?//?假設(shè)?c?=?10
int?n?=?50;?//?次方數(shù),?多少次方
double?p?=?0;?//?最終結(jié)果
double?temp?=?x?+?x*x;?//?n=2時(shí),
double?sum?=?0;?//?x的階乘結(jié)果
for?(int?i?=?1;?i?<=?(n-2);?i++)?{
sum?=?(temp?+?1)*x;
}
p?=?c?*?sum;
System.out.println("p="?+?p);// 抱歉哈, 我用Java寫(xiě)的, 給你寫(xiě)了大概的思路.
總結(jié)
以上是生活随笔為你收集整理的C语言中p=(1 r) n,如何计算p=c/(1+r)+c/(1+r)*(1+r)+........+c/(1+r)的n次方+m/(1+r)的n次方的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 淘宝特价版事业部java面试,含爱奇艺,
- 下一篇: 搭档之家|独立面对人生的态度