F.
2007-03-15 15:58:53 UTC
Non riesco a trovare ne a fare la dimostrazione dell'algoritmo del
contadino russo:
r(a,1) = a
r(a,b) =r(2·a,b/2) se b è pari,
r(a,b) =r(2·a,(b-1)/2) + a se b è dispari.
Dimostrare per induzione che r(a,b) = a·b per ogni a, b >1.
Alla base ci sono arrivata: r(2,2)=r(2*2,2/2)=r(4,1)=4 cioè 2*2
poi sono partita dicendo che vale P(m,n)=m*n e
r(m,n)=r(2·m,n/2) se n è pari
r(m,n)=r(2·m,(n-1)/2) +n se n è dispari
Devo dimostrare che vale
P(m+1,n+1)=(m+1)*(n+1)=m*n+m*1+n*1+1=r(m,n)+r(m,1)+r(n,1)+r(1,1)
ma questo non mi porta da nessuna parte.....
C'è qualcuno che ha un'idea su come proseguire?
Ciao
F.
contadino russo:
r(a,1) = a
r(a,b) =r(2·a,b/2) se b è pari,
r(a,b) =r(2·a,(b-1)/2) + a se b è dispari.
Dimostrare per induzione che r(a,b) = a·b per ogni a, b >1.
Alla base ci sono arrivata: r(2,2)=r(2*2,2/2)=r(4,1)=4 cioè 2*2
poi sono partita dicendo che vale P(m,n)=m*n e
r(m,n)=r(2·m,n/2) se n è pari
r(m,n)=r(2·m,(n-1)/2) +n se n è dispari
Devo dimostrare che vale
P(m+1,n+1)=(m+1)*(n+1)=m*n+m*1+n*1+1=r(m,n)+r(m,1)+r(n,1)+r(1,1)
ma questo non mi porta da nessuna parte.....
C'è qualcuno che ha un'idea su come proseguire?
Ciao
F.