2016-07-20 1 views
0

한 사람이 은행에 코퍼스를 예금한다고 가정하십시오. . 은행은 매월 그에게이자를 지급합니다. 지금 주어진 투자 코퍼스 P에 대한 관심 R의 평가하고, 임기 T, 나는 임기 종료 후 총액을 계산합니다.힘의 조합

google힘의 합계이 문제에 대한 수천 가지 온라인 계산기를 찾을 수 있습니다.

의 예로 들어 보자 (참고 :을 그것은 복리의 간단한 문제는 다릅니다) 다음 문제에 대한도 구현 될 수

If P is 52.5, R is 3.6% Anually, T is 5 Months, Suppose Total Amount is A 
Now, R will be 0.3% monthly (since bank pays him every month) 

After First Month: A = 52.5*(1 + 0.003) = 52.6575 [His Corpus with added Interest] 

         **Then he Deposit Corpus again** 

After Second Month: A = (52.5 + 52.6575)*(1 + 0.003) = 105.4729725 

After Third Month: A = (52.5 + 105.4729725)*(1 + 0.003) = 158.4468914 

After Forth Month: A = (52.5 + 158.4468914)*(1 + 0.003) = 211.5797321 

After Fifth Month: A = (52.5 + 211.5797321)*(1 + 0.003) = 264.8719713 ~ 265 

그래서, 대답은 265

될 것입니다 (파이썬 2)

p=float(raw_input('Enter the Corpus: ')) 
r=(1+float(raw_input('Enter the Annual Rate: '))/1200) 
t=input('Enter the Tenure: ') 

a=p+0 
m=1 
while m<t: 
    a=(a+p)*r 
    m+=1 

print 'Total Amount',int(round(a)) 

나는 이것이 최선의 방법이 아니라는 것을 알고있다. 나는이 문제에 대한 일반적인 공식을 풀어 내는데 몇 시간을 보냈지만 실패했다. 따라서이 문제 또는 더 좋은 경우 수식이 있는지 알 수는 없습니다. 알고리즘.

+0

이런 식으로 잘못 되었나요? 이 알고리즘은 꽤 간단 해 보입니다. 분석 목적으로 폐쇄 형 솔루션을 찾고 있습니까? – SirGuy

+0

진실로 말하면 나는 알고리즘의 복잡성을 O (1)의 순서로 만드는 공식을 찾고 있습니다. –

+0

'n'은 무엇입니까? 위의 귀하의 성명서에서 그것을 볼 수 없습니다. – SirGuy

답변

0

답변을 찾았습니다.

하자 함수 A(t)t개월의 성숙 기간 이후에 총액라고, P이 코퍼스는, r(Monthly Rate of Interest + 1) 또는 r=R+1이다. 이제

, 우리가 r=R+1을 고려할 때 단순한 기하 급수적

A(1)= P*r 

A(2)= (A(1) + P)*r 
    = (P*r + P)*r 
    = P*r^2 + P*r 

A(3)= (A(2) + P)*r 
    = (P*r^2 + P*r)*r 
    = P*r^3 + P*r^2 + P*r 

A(t)= P*r^t + P*r^(t-1) + ... + P*r^3 + P*r^2 + P*r 
    = (P*r) * [P*r^(t-1) + P*r^(t-2) + ... + P*r^2 + P*r + 1] 
    = (P*r) * (r^(t-1)-1)/(r - 1)     [Formula of sum in G.P.] 
    = (P*r) * (r^(t-1)-1)/R       [Since r = R + 1] 

Or, only in terms of P, R, t: 
A(t) = P*(1 + R) * ((1 + R)^(t-1)-1)/R 

.

지금,

r = 1 + R = 1.003 
A = A(5) = (52.5 * 1.003) * (1.003^5 - 1)/0.003 = 264.87197128801836 ~ 265 

P=52.5R=0.003t=5

귀중한 시간과 노력에 대한 당신 GuyGreer 감사, 주어진 예를 들자면.나는 당신의 대답에서 단지 r=R+1을 고려해야한다는 생각을 가지고있다. 그렇지 않다면 나는 그 문제를 간단한 방정식으로 나눌 시간을 보냈다.

2

우리는 다음과 같은 문제에 폐쇄 된 형태의 솔루션을 찾을 수 있습니다 (당신이 언급 한 것과 아주 약간 다른,하지만이 솔루션은 하나의 방식으로 작동됩니다) :

a(n+1) = a(n) * r + p 
    a(0) = A 

    a(1) = A*r + p 

    a(2) = a(1)*r + p 
    a(2) = (A*r + p)*r + p 
    a(2) = A*r^2 + p*r + p 

    a(3) = a(2)*r + p 
    a(3) = (A*r^2 + p*r + p)*r + p 
    a(3) = A*r^3 + p*r^2 + p*r + p 
    ... 

enter image description here

이 합은이다

enter image description here

이 될 수 S : 당신이 밖으로 찾을 수 있습니다 기하학적 시리즈는, 조금 인터넷 검색에 의해,로 단순화 O (1)에서 O (1) pow 함수를 사용하여 힘을 계산합니다.

+0

또한 http://www.zahlen-kern.de/editor/equations/a40a.png 및 http://www.zahlen-kern.de/editor/equations/a40g.png를 사용하고 완벽을위한 파이썬 코드?) – Zeta

+0

@Zeta 글쎄, 당신은 나를 확신했다. 또한 나중에 참조 할 수 있도록 해당 사이트를 북마크에 추가하십시오. – SirGuy

+0

@GuyGreer 나는 당신의 affort을 주셔서 감사합니다. 그러나 문제를 다시 한번보십시오. 제 문제는 함수 a (n)에 맞지 않습니다. –