Collection of Number Programs Using Recursion (Second Edition)
Collection of Number Programs Using Recursion (Second Edition)
'HGLFDWHGWRDOOP\ORYHO\VWXGHQWV0D\*RGKHOS\RXDOZD\V
7KLVJXLGHLVDFROOHFWLRQRIYDULRXVSURJUDPVRQEDVHGRQQXPEHUVGRQHXVLQJ
WKH5HFXUVLYHFRQFHSW,WDOVRFRQVLVWVRIKHOSIXOWLSVDQGH[SODQDWLRQVRQKRZWR
GRGLIIHUHQWW\SHVRISURJUDPVXVLQJWKHUHFXUVLRQFRQFHSW
7KH XQLTXH IHDWXUH RI WKLV FROOHFWLRQ LV WKDW DORQJ ZLWK WKH UHFXUVLYH FRGHV ZH
KDYHSURYLGHGWKH,WHUDWLYHFRGHVRIWKHVDPHSURJUDPDVZHOO
,KRSHWKDWWKLVZLOOIDFLOLWDWHWKHVWXGHQWVLQXQGHUVWDQGLQJWKHFRQFHSWRIUHFXUVLRQ
ZHOO DQG ZLOO EH KHOSIXO IRU VWXGHQWV SUHSDULQJ IRU WKHLU ,6& &RPSXWHU 6FLHQFH
([DPV
Md. Zeeshan Akhtar
723,& RECURSION
)DFWRULDORIDQXPEHU
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
LQWIDFWRULDOLQWQ
^
LIQ
UHWXUQ
HOVH
UHWXUQQ
IDFWRULDOQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWD IDFWRULDOQ
6\VWHPRXWSULQW7KHIDFWRULDORIWKHQXPEHU D
`
LQWI
LQWIDFWRULDOLQWQ
^
LIQ
UHWXUQI
HOVH^
I I
Q
UHWXUQIDFWRULDOQ
`
`
7KHGLVSOD\PHWKRGZLOOEHWKHVDPHDVRQWKHOHIW
&RUUHVSRQGLQJ,WHUDWLYH)XQFWLRQ
LQWI
LQWIDFWRULDOLQWQLQWL
^
LIL Q^
I I
L
UHWXUQIDFWRULDOQL
`
HOVH
UHWXUQI
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWD IDFWRULDOQ
6\VWHPRXWSULQW7KHIDFWRULDORIWKHQXPEHU D
`
LQWI
LQWIDFWRULDOLQWQ
^
LQWL
ZKLOHL Q^
I I
L
L
`
UHWXUQI
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWD IDFWRULDOQ
6\VWHPRXWSULQW7KHIDFWRULDORIWKHQXPEHU D
`
1RWH7KHVWPHWKRGLVWKHPRVWZLGHO\XVHGDQGWKHVKRUWHVWRIDOOWKHDERYHPHWKRGVKHQFHVWXGHQWVDUHDGYLVHGWRXVHWKH
VWPHWKRGZKLOHILQGLQJIDFWRULDORIDQXPEHUXVLQJUHFXUVLRQ
723,& RECURSION
6RPH3URJUDPVGHDOLQJZLWK)DFWRULDO
Q
(YDOXDWLQJWKH3HUPXWDWLRQ)XQFWLRQRU3QU
LPSRUWMDYDXWLO
FODVV3HUPXWDWLRQ
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWQU
3HUPXWDWLRQ
^
Q
U
`
YRLGUHDG,QSXW
^
6\VWHPRXWSULQW(QWHUWKHYDOXHRIQ
Q VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHYDOXHRIU
U VFQH[W,QW
`
LQWIDFWRULDOLQWQ
^
LIQ
UHWXUQ
HOVH
UHWXUQQ
IDFWRULDOQ
`
YRLGFRPSXWH
^
LQWD IDFWRULDOQ
LQWE IDFWRULDOQU
LQWUHV DE
6\VWHPRXWSULQWOQ$QVZHUUHV
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
3HUPXWDWLRQRE QHZ3HUPXWDWLRQ
REUHDG,QSXW
REFRPSXWH
`
`
(YDOXDWLQJWKH&RPELQDWLRQ)XQFWLRQRU&QU
Q
U
LPSRUWMDYDXWLO
LIQ
FODVV&RPELQDWLRQ
UHWXUQ
^
HOVH
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
UHWXUQQ
IDFWRULDOQ
LQWQU
`
&RPELQDWLRQ
YRLGFRPSXWH
^
^
Q
LQWD IDFWRULDOQ
U
LQWE IDFWRULDOU
`
LQWF IDFWRULDOQU
LQWUHV DE
F
YRLGUHDG,QSXW
^
6\VWHPRXWSULQWOQ$QVZHUUHV
6\VWHPRXWSULQW(QWHUWKHYDOXHRIQ
`
Q VFQH[W,QW
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
6\VWHPRXWSULQW(QWHUWKHYDOXHRIU
^
U VFQH[W,QW
&RPELQDWLRQRE QHZ&RPELQDWLRQ
`
REUHDG,QSXW
REFRPSXWH
LQWIDFWRULDOLQWQ
^
`
`
,QERWKWKHDERYHH[DPSOHVZHDUHXVLQJWKHUHFXUVLYHIXQFWLRQLQWIDFWRULDOLQWQIRUILQGLQJWKHIDFWRULDORIDQXPEHU
DQGZHDUHFDOOLQJWKLVIXQFWLRQIURPLQVLGHWKHFRPSXWHIXQFWLRQWRILQGWKHYDOXHVRIQUDQGQUDQGWKHPDSSO\LQJ
WKHJLYHQIRUPXODWRFDOFXODWHWKH3HUPXWDWLRQRUWKH&RPELQDWLRQ)XQFWLRQ
723,& RECURSION
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LV6SHFLDOQ
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
.ULVKQDPXUWK\RE QHZ.ULVKQDPXUWK\
REGLVSOD\
`
`
1RWH ,Q VXFK SURJUDPV \RX PD\ EH DVNHG WR WDNH WKH
YDULDEOH
Q
DVLQVWDQFHYDULDEOHV,QWKDWFDVH\RXGRQWQHHG
WRWDNHLWDVSDUDPHWHUWRWKHIXQFWLRQLV6SHFLDO
,W FDQDOVREH JLYHQWKDW \RX FUHDWH D VHSDUDWH IXQFWLRQ IRU
WDNLQJLQSXWVIURPWKHXVHUWRWKHYDULDEOH
Q
,QWKDWFDVH\RX
FUHDWHWKDWVHSDUDWHIXQFWLRQDQGZULWHWKHFRGHIRULQSXWWLQJ
Q
LQVLGHLW,I\RXGRWKLVWKHQ\RXGRQWQHHGWRLQSXW
Q
LQ
WKHGLVSOD\PHWKRG
)LQGLQJSRZHURIDQXPEHUDE
5HFXUVLYH0HWKRG
LQWSRZHULQWDLQWE
^
LIE
UHWXUQ
HOVH
UHWXUQD
SRZHUDE
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWP VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHSRZHU
LQWQ VFQH[W,QW
LQW[ SRZHUPQ
6\VWHPRXWSULQW5HVXOW [
`
5HFXUVLYH0HWKRG
LQWS
LQWSRZHULQWDLQWE
^
LIE
UHWXUQS
HOVH
^
S S
D
UHWXUQSRZHUDE
`
`
7KH GLVSOD\ PHWKRG ZLOO EH WKH
VDPHDVRQWKHOHIW
&RUUHVSRQGLQJ,WHUDWLYH&RGH
LQWS
LQWSRZHULQWDLQWE
^
LQWL
ZKLOHL E
^
S S
D
L
`
UHWXUQS
`
7KH GLVSOD\ PHWKRG ZLOO EH WKH
VDPHDVRQWKHOHIW
1RWH,IWKHUHWXUQW\SHRIWKHIXQFWLRQLVGRXEOHDVLQGRXEOHSRZHULQWDLQWEWKHQLQPHWKRGUHSODFHUHWXUQZLWK
UHWXUQ,QPHWKRGUHSODFHLQWS ZLWKGRXEOHS
7KHQLQWKHIXQFWLRQYRLGGLVSOD\FKDQJHWKHOLQHLQW[ SRZHUPQZLWKGRXEOH[ SRZHUPQ
723,& RECURSION
6RPH3URJUDPVGHDOLQJZLWK3RZHUDQG)DFWRULDO
1RWH)RUVROXWLRQVWRDOOWKHTXHVWLRQVLQWKLVVHFWLRQWKHIROORZLQJFRGHZLOOEHZULWWHQ7KHRQO\FKDQJHZLOOEHWKHUHLQ
WKHIXQFWLRQYRLGFDOF6HULHV6RZHZLOOEHZULWLQJRQO\WKHFRGHIRUWKHIXQFWLRQYRLGFDOF6HULHV
LPSRUWMDYDXWLO
FODVV6HULHV6XP
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQW[Q
GRXEOHVXP
6HULHV6XPLQW[[LQWQQ
^
[ [[
Q QQ
`
GRXEOHIDFWRULDOLQWQ
^
LIQ
UHWXUQ
HOVH
UHWXUQQ
IDFWRULDOQ
`
GRXEOHSRZHULQWDLQWE
^
LIE
UHWXUQ
YRLGFDOF6HULHV
^
GRXEOHQXPGHQ
IRULQWL LQL^
QXP SRZHU[L
GHQ IDFWRULDOL
VXP VXPQXPGHQ
`
`
HOVH
UHWXUQD
SRZHUDE
`
YRLGFDOF6HULHV
^
`
YRLGGLVSOD\
^
FDOF6HULHV
6\VWHPRXWSULQWOQ6XPRIWKHVHULHVVXP
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
6\VWHPRXWSULQW(QWHUWKHYDOXHRIQ
LQWQ VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHYDOXHRI[
LQW[ VFQH[W,QW
6HULHV6XPRE QHZ6HULHV6XP[Q
REGLVSOD\
`
`
YRLGFDOF6HULHV
^
GRXEOHQXPGHQ
IRULQWL LQL^
QXP SRZHU[L
GHQ IDFWRULDOL
VXP VXPQXPGHQ
`
`
>,6&@
YRLGFDOF6HULHV
^
GRXEOHQXPGHQ
IRULQWL L QL^
QXP SRZHU[
L
GHQ IDFWRULDO
L
VXP VXPQXPGHQ
`
`
YRLGFDOF6HULHV
^
GRXEOHQXPGHQ
IRULQWL L QL^
QXP SRZHU[L
GHQ IDFWRULDOL
LIL
VXP VXPQXPGHQ
HOVH
VXP VXPQXPGHQ
`
`
723,& RECURSION
>,6&@
YRLGFDOF6HULHV
^
IRULQWL LQL
^
QXP SRZHU[
L
GHQ IDFWRULDOL
VXP VXPQXPGHQ
`
`
YRLGFDOF6HULHV
^
IRULQWL L QL
^
QXP SRZHU[L
GHQ IDFWRULDOL
VXP VXPQXPGHQ
`
`
)LERQDFFL6HULHV
5HFXUVLYH&RGHIRUJHQHUDWLQJWKHQWKWHUPRIWKH)LERQDFFL
6HULHV7KLVLVWKHPRVWZLGHO\XVHGIXQFWLRQIRUJHQHUDWLQJ
WKH)LERQDFFLVHULHV
LQWILELQWQ
^
LIQ
UHWXUQ
HOVHLIQ
UHWXUQ
HOVH
UHWXUQILEQILEQ
`
$QRWKHU5HFXUVLYH0HWKRG
LQWD E F
YRLGILELQWLLQWOLPLW
^
LIL OLPLW
^
F DE
6\VWHPRXWSULQWF
D E
E F
ILELOLPLW
`
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHOLPLW
LQWOLPLW VFQH[W/LQH
6\VWHPRXWSULQW7KH6HULHVLVDE
ILEOLPLW
`
,IZHZDQWWRSULQWVWWHUPVWKHQZHZLOOFDOOWKHDERYH
PHWKRGWLPHVDVIROORZV
LQWF
IRULQWL L L
^
F ILEL
6\VWHPRXWSULQWF
`
,QWKHDERYHFRGHWKHYDULDEOH
F
LVVWRULQJWKHYDOXHRIWKH
VWWHUPWKHQWKHQGWHUPWKHQWKHUGWHUPWLOOWKWHUPV$V
VRRQDV
F
JHWVDYDOXHZHDUHSULQWLQJLW+HQFHWHUPVRI
WKH)LERQDFFLVHULHVLVJHQHUDWHG
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWD E F
YRLGILELQWOLPLW
^
LQWL
ZKLOHL OLPLW
^
F DE
6\VWHPRXWSULQWF
D E
E F
L
`
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHOLPLW
LQWOLPLW VFQH[W/LQH
6\VWHPRXWSULQW7KH6HULHVLVDE
ILEOLPLW
`
723,& RECURSION
*HQHUDWLQJWKH(QWLUH)LERQDFFL6HULHV,6&
LPSRUWMDYDXWLO
FODVV5HFXUVLRQ
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWDEFOLPLW
5HFXUVLRQ
^
D
E
F
OLPLW
`
YRLGLQSXW
^
6\VWHPRXWSULQW(QWHUWKHOLPLW
OLPLW VFQH[W,QW
`
LQWILELQWQ
^
LIQ
UHWXUQD
HOVHLIQ
UHWXUQE
HOVH
UHWXUQILEQILEQ
`
YRLGJHQHUDWHBILEVHULHV
^
6\VWHPRXWSULQWOQ7KH)LERQDFFL6HULHVLV
IRULQWL L OLPLWL
^
F ILEL
6\VWHPRXWSULQWF
`
`
SXEOLFVWDWLFYRLGPDLQWKURZV([FHSWLRQ
^
5HFXUVLRQRE QHZ5HFXUVLRQ
RELQSXW
REJHQHUDWHBILEVHULHV
`
`
1RWH$OOWKHIXQFWLRQVXVHGKHUHDUHZKDWZDVJLYHQLQWKH
TXHVWLRQ,6&
)LQGLQJ+&)RU*&'RIQXPEHUV
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
LQWJFGLQWSLQWT
^
LIT
UHWXUQS
UHWXUQJFGTST
`
LQWJFGLQWSLQWT
^
LIST
UHWXUQJFGTST
HOVH
UHWXUQT
`
LQWJFGLQWSLQWT
^
LIS T
UHWXUQS
HOVHLIS!T
UHWXUQJFGSTT
HOVH
UHWXUQJFGSTS
`
LQWUHV
LQWJFGLQWSLQWTLQWL
^
LIL S
^
LISL TL
UHV L
JFGSTL
`
UHWXUQUHV
`
$Q\RIWKHDERYHPHWKRGVFDQEHXVHGIRUILQGLQJWKH*&'RU+&)RIDQ\WZRQXPEHUV:HZRXOGDGYLVHWKHVWXGHQWVWR
XVHDQ\RIWKHILUVWWKUHHUHFXUVLYHPHWKRGZKHQHYHUSRVVLEOH
$SURJUDPRQILQGLQJ+&)RIQXPEHUVXVLQJWKHUHFXUVLYHWHFKQLTXHFDPHLQ,6&
723,& RECURSION
)LQGLQJWKH/&0RIQXPEHUV
LQWOFP
LQWFDOF/&0LQWDLQWE
^
LIOFPD OFPE
UHWXUQOFP
OFP
FDOF/&0DE
UHWXUQOFP
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHVWQXPEHU
LQW[ VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHQGQXPEHU
LQW\ VFQH[W,QW
ILQG/&0[\
6\VWHPRXWSULQWOQ/&0 OFP
`
&KHFNLQJIRU3ULPH1XPEHU
5HFXUVLYH0HWKRG
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWFRXQW
LQWSULPHLQWQLQWL
^
LIL Q^
LIQL
FRXQW
UHWXUQSULPHQL
`
HOVH
UHWXUQFRXQW
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWUHV SULPHQ
LIUHV
6\VWHPRXWSULQWOQ7KHQXPEHULV3ULPH
HOVH
6\VWHPRXWSULQWOQ7KHQXPEHULV1RW3ULPH
`
5HFXUVLYH0HWKRG:LWKRXW5HWXUQ7\SH
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWFRXQW
YRLGSULPHLQWQLQWL
^
LIL Q^
LIQL
FRXQW
SULPHQL
`
HOVH^
LIFRXQW
6\VWHPRXWSULQWOQ7KHQXPEHULV3ULPH
HOVH
6\VWHPRXWSULQWOQ7KHQXPEHULVQRW3ULPH
``
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
SULPHQ
`
723,& RECURSION
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWL
LQWLVSULPHLQWQ
^
LIL Q^
LIQL ^
L
SULPHQ
`
`
LIL Q
UHWXUQ
HOVH
UHWXUQ
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LILVSULPHQ
6\VWHPRXWSULQWOQ7KHQXPEHULV3ULPH
HOVH
6\VWHPRXWSULQWOQ7KHQXPEHULV1RW3ULPH
`
1RWH,QWKHDERYHPHWKRG
L
LVLQFUHDVLQJHYHU\WLPHZHGLGQRWJHWDQ\IDFWRUDQGWKHUHFXUVLYHPHWKRGORRSZLOOHQGZKHQ
L
LVHTXDOWR
Q
+HQFHLI
L
EHFRPHVHTXDOWRWKHQXPEHUWKHQWKDWPHDQVWKDWWKHQXPEHULVQRWGLYLVLEOHE\DQ\RWKHU
QXPEHUH[FHSWDQGLWVHOI+HQFHLWLV3ULPH
$QRWKHU5HFXUVLYH0HWKRG0RGLILHGIRUPRIDERYHFRGH
LQWL
LQWLVSULPHLQWQ
^
LIL Q
UHWXUQ
HOVHLIQL __Q
UHWXUQ
HOVH^
L
UHWXUQLVSULPHQ
``
1RWH,QWKHDERYHPHWKRG
L
LVLQFUHDVLQJHYHU\WLPHZHGLG
QRW JHW DQ\ IDFWRU DQG WKH UHFXUVLYH PHWKRGORRS ZLOO HQG
ZKHQ
L
LVHTXDOWR
Q
RU,IQLVGLYLVLEOHE\DQ\YDOXHRIL
RUQLVHTXDOWR
,I
L
EHFRPHVHTXDOWRWKHQXPEHUWKHQWKDWPHDQVWKDWWKH
QXPEHU LV QRW GLYLVLEOH E\ DQ\ RWKHU QXPEHU H[FHSW DQG
LWVHOI+HQFHLWLV3ULPH
,IQLVGLYLVLEOHE\DQ\YDOXHRILDSDUWIURPDQGQRU
LIQLVHTXDOWRWKHQLQERWKFDVHWKHQXPEHULVQRW
SULPH
&KHFNLQJIRU7ZLQSULPH
LPSRUWMDYDXWLO
FODVV7ZLQ3ULPH
^
LQWLV3ULPHLQWQLQWL^
LIL Q
UHWXUQ
HOVHLIQL __Q
UHWXUQ
HOVH
UHWXUQLV3ULPHQL
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
723,& RECURSION
&KHFNLQJIRU(PLUS1XPEHU,6&
$Q(PLUSQXPEHULVDQXPEHUZKLFKLVSULPHEDFNZDUGVDQG
IRUZDUGV([DPSOHDQGDUHERWKSULPHQXPEHUV7KXV
LVDQ(PLUSQXPEHU
'HVLJQ D FODVV (PLUS WR FKHFN LI D JLYHQ QXPEHU LV (PLUS
QXPEHURUQRW6RPHRIWKHPHPEHUVRIWKHFODVVDUHJLYHQ
EHORZ
&ODVVQDPH(PLUS
'DWDPHPEHUVLQVWDQFHYDULDEOHV
QVWRUHVWKHQXPEHU
UHYVWRUHVWKHUHYHUVHRIWKHQXPEHU
IVWRUHVWKHGLYLVRU
0HPEHUIXQFWLRQV
(PLUSLQWQQWRDVVLJQQ QQUHY DQGI
LQWLVSULPHLQW[FKHFNLIWKHQXPEHULVSULPHXVLQJWKH
UHFXUVLYHWHFKQLTXHDQGUHWXUQLISULPHRWKHUZLVHUHWXUQ
YRLGLV(PLUSUHYHUVHWKHJLYHQQXPEHUDQGFKHFNLIERWK
WKH RULJLQDO QXPEHU DQG WKH UHYHUVH QXPEHU DUH SULPH E\
LQYRNLQJWKHIXQFWLRQLVSULPHLQWDQGGLVSOD\WKHUHVXOWZLWK
DQDSSURSULDWHPHVVDJH
LPSRUWMDYDXWLO
FODVV(PLUS
^
LQWQUHYI
(PLUSLQWQQ^
Q QQ
UHY
I
`
1RWH7KHIXQFWLRQLV3ULPHZLOOFKHFNZKHWKHU
Q
LV
SULPHRUQRWDQGQRW[9DULDEOH
[
LVMXVWDFRXQWHU
LQWLVSULPHLQW[^
LI[ Q
UHWXUQ
HOVHLIQ[ __Q
UHWXUQ
HOVH
UHWXUQLVSULPH[
`
YRLGLV(PLUS^
LQWFRS\ QG
ZKLOHFRS\!FRGHIRUUHYHUVLQJDQXPEHU
^
G FRS\
UHY UHY
G
FRS\ FRS\
`
LQWD LVSULPHI&KHFNLQJRULJLQDOQXPEHUQ
Q UHY6DYLQJUHYHUVHLQQ
I
LQWE LVSULPHI&KHFNLQJUHYHUVHRIQXPEHUQ
LID E
6\VWHPRXWSULQWOQ,WLVDQ(PLUS1XPEHU
HOVH
6\VWHPRXWSULQWOQ,WLV1RWDQ(PLUS1XPEHU
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
(PLUSRE QHZ(PLUSQ
RELV(PLUS
``
*HQHUDWLQJ3ULPH7ULSOHWVZLWKLQD5DQJH
7KHFRQVHFXWLYHSULPHQXPEHUVDUHNQRZQDV3ULPH7ULSOHWVLIWKH\VDWLVI\WKHIROORZLQJFRQGLWLRQVQQQDUHDOO
SULPH25QQQDUHDOOSULPHZKHUHQLVDQLQWHJHUQXPEHU
6\VWHPRXWSULQW(QWHUWKHVWDUWOLPLW
LPSRUWMDYDXWLO
LQWS VFQH[W,QW
FODVV3ULPH7ULSOHWV
6\VWHPRXWSULQW(QWHUWKHHQGOLPLW
^
LQWT VFQH[W,QW
LQWLV3ULPHLQWQLQW[^
6\VWHPRXWSULQWOQ7KH3ULPH7ULSOHWVDUH
LI[ Q
LQWDEFG
UHWXUQ
IRULQWL SL TL^
HOVHLIQ[ __Q
D RELV3ULPHL
UHWXUQ
E RELV3ULPHL
HOVH
F RELV3ULPHL
UHWXUQLV3ULPHQ[
G RELV3ULPHL
`
LID E G
6\VWHPRXWSULQWOQL?WL?WL
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
LID F G
6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
6\VWHPRXWSULQWOQL?WL?WL
3ULPH7ULSOHWVRE QHZ3ULPH7ULSOHWV
```
723,& RECURSION
([WUDFWLQJ'LJLWVIURPDQXPEHUDQGSHUIRUPLQJDQ\JLYHQRSHUDWLRQ
2SHUDWLRQIURP)LUVWGLJLWRQZDUGV
YRLGQXP2SLQWQ
^
LIQ!
^
LQWG Q
QXP2SQ
Write the operation you want to perform with the
digits coming out from the beginning over here.
`
`
2SHUDWLRQIURP/DVWGLJLWRQZDUGV
YRLGQXP2SLQWQ
^
LIQ!
^
LQWG Q
Write the operation you want to perform with
the digits coming out from the end over here.
QXP2SQ
`
`
,QWKHVWFRGHZHDUHWDNLQJRXWWKHGLJLWVIURPWKHHQGRIWKHQXPEHUDQGZLWKRXWSHUIRUPLQJDQ\RSHUDWLRQZLWKWKH
GLJLWVH[WUDFWHGIURPWKHODVWZHDUHDJDLQFDOOLQJWKHUHFXUVLYHIXQFWLRQZLWKWKHQXPEHUUHGXFHGE\WLPHV
:HWKHQZULWHWKHRSHUDWLRQZHZDQWWRSHUIRUPDIWHUWKHOLQHZKLFKLVFDOOLQJWKHIXQFWLRQUHFXUVLYHO\EHFDXVHE\GRLQJ
VRZHZRXOGEHXVLQJWKH/,)2SURSHUW\RIWKHVWDFNXVHGLQUHFXUVLRQ'LJLWVH[WUDFWHGIURPWKHHQGZHUHSODFHGLQWKH
EHJLQQLQJRIWKHVWDFNKHQFHZKHQZHSRSRXWWKHGLJLWVZHZRXOGEHJHWWLQJWKH)LUVWGLJLWRIWKHQXPEHUILUVWWKHQWKH
VHFRQGDQGVRRQ7KXVLQWKLVFDVHZHJHWGLJLWVIURPWKHEHJLQQLQJRIDQXPEHU
,QWKHQGFRGHDERYHFRGHZHDUHWDNLQJRXWWKHGLJLWVIURPWKHHQGRIWKHQXPEHUDQGDUHSHUIRUPLQJWKHRSHUDWLRQZLWK
WKHGLJLWVH[WUDFWHGEHIRUHFDOOLQJWKHUHFXUVLYHIXQFWLRQZLWKWKHQXPEHUUHGXFHGE\WLPHV
7KXVLQWKLVFDVHZHJHWGLJLWVIURPWKHHQGRIDQXPEHU
6RPH3URJUDPVGHDOLQJZLWKGLJLWVRIDQXPEHU
)LQGLQJWKHVXPRIWKHGLJLWVRIDQXPEHU
5HFXUVLYH0HWKRG
LQWV
LQWVXP'LJLQWQ
^
LIQ!
^
LQWG Q
VXP'LJQ
V VG
`
UHWXUQV
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQW[ VXP'LJQ
6\VWHPRXWSULQWOQ6XPRIGLJLWV [
`
5HFXUVLYH0HWKRG
LQWV
LQWVXP'LJLQWQ
^
LIQ!
^
LQWG Q
V VG
VXP'LJQ
`
UHWXUQV
`
,QWKHVWPHWKRGZHDUHDGGLQJGLJLWVIURPWKHEHJLQQLQJ
ZKLOHLQWKHQGPHWKRGZHDUHDGGLQJWKHGLJLWVIURPWKH
HQG
7KHGLIIHUHQFHEHWZHHQWKHPHWKRGLVRIVKLIWLQJWKHOLQH
V VGZKLFKLQWKHVWPHWKRGLVZULWWHQDIWHUWKHUHFXUVLYH
FDOOZKLOHLQWKHQGLVZULWWHQEHIRUHWKHUHFXUVLYHFDOO
,PSRUWDQW1RWH
)RU ILQGLQJ WKH VXP RI WKH VTXDUH RI WKH GLJLWV ZULWH WKH DERYH FRGH -XVW FKDQJH WKH OLQH V VG LQWR V VG
G RU
V VLQW0DWKSRZG
)RU ILQGLQJ WKH VXP RI WKH FXEH RI WKH GLJLWV ZULWH WKH DERYH FRGH -XVW FKDQJH WKH OLQH V VG LQWR V VG
G
G RU
V VLQW0DWKSRZG
723,& RECURSION
$QRWKHU,PSRUWDQW5HFXUVLYH0HWKRG0HWKRG
8VHWKLVPHWKRGZKHQ\RXDUHQRWSURYLGHGZLWKRUDUHDVNHGQRWWRWDNHDQ\VHSDUDWHYDULDEOHIRUVWRULQJWKHVXP,QWKH
DERYHH[DPSOHVZHXVHGDYDULDEOH
V
DVDQLQVWDQFHYDULDEOHIRUVWRULQJVXPLQWKHEHORZJLYHQH[DPSOHZHDUHQRWXVLQJ
DQ\YDULDEOHIRUVWRULQJWKHVXP
LQWVXP'LJLQWQ
^
LIQ
UHWXUQ
HOVH^
LQWG Q
UHWXUQGVXP'LJQ
``
)RUILQGLQJWKHVXPRIWKHVTXDUHRIWKHGLJLWVMXVWFKDQJH
WKH OLQH UHWXUQ GVXP'LJQ LQWR UHWXUQ
G
GVXP'LJQ
)RUILQGLQJWKHVXPRIWKHFXEHRIWKHGLJLWVMXVWFKDQJH
WKHOLQHUHWXUQGVXP'LJQLQWRUHWXUQ
G
G
GVXP'LJQ
)LQGLQJZKHWKHUDQXPEHULVD0DJLF1XPEHURUQRW>,6&@
LPSRUWMDYDXWLO
FODVV0DJLF
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWQ
0DJLF^
Q
`
YRLGJHWQXP^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
Q VFQH[W,QW
`
LQWVXP'LJLQW[^
LI[
UHWXUQ
HOVH
^
LQWG [
UHWXUQGVXP'LJ[
`
`
YRLGLV0DJLF^
LQWD Q
ZKLOHD!
^
D VXP'LJD
`
LID
6\VWHPRXWSULQWQLVD0DJLF1XPEHU
HOVH
6\VWHPRXWSULQWQLV1RWD0DJLF1XPEHU
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
0DJLFRE QHZ0DJLF
REJHWQXP
RELV0DJLF
`
`
1RWH$0DJLF1XPEHULVDQXPEHUZKRVHHYHQWXDOVXPRI
WKHGLJLWVLVHTXDOWR7KLVDGGLWLRQRIGLJLWVLVSHUIRUPHG
DJDLQDQGDJDLQWLOOWKHQXPEHULWVHOIEHFRPHVDVLQJOHGLJLW
QXPEHU([DPSOH
,QWKLVSURJUDPZHKDYHXVHGWKHUGPHWKRGRIILQGLQJWKH
VXPRIWKHGLJLWV
,PSRUWDQW 1RWH ,Q VXFK SURJUDPV \RX PD\ EH DVNHG WR
LQSXW WKH QXPEHU LQ D VHSDUDWH IXQFWLRQ OLNH ZH KDYH XVHG
DERYH
YRLGJHWQXPLQWQXP
^
Q QXP
`
7KHQWKHPDLQPHWKRGZLOOEH
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
0DJLFRE QHZ0DJLF
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWE ,QWHJHUSDUVH,QWEUUHDG/LQH
REJHWQXPE
RELV0DJLF
`
:HKDYHWDNHQWKHYDOXHRI
Q
DVLQSXWIURPWKHXVHULQWKH
IXQFWLRQJHWQXP
<RX FDQDOVREH DVNHG WR LQLWLDOL]H WKHYDULDEOH
Q
LQVLGH D
IXQFWLRQZLWKVRPHSDUDPHWHUSDVVHGWRWKDWIXQFWLRQ,QVXFK
FDVH\RXGRQWLQSXW
Q
LQWKDWIXQFWLRQEXW\RXLQSXWLWLQVLGH
PDLQDQGSDVVWKLVLQSXWWRWKDWLQLWLDOL]LQJIXQFWLRQ
([DPSOH,QWKHDERYHSURJUDP\RXFDQZULWHWKHJHWQXP
PHWKRGDV
723,& RECURSION
)LQGLQJZKHWKHUDQXPEHULVD+DSS\1XPEHURUQRW>,6&@
LPSRUWMDYDXWLO
FODVV+DSS\
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWQ
+DSS\
^
Q
`
YRLGJHWQXPLQWQQ
^
Q QQ
`
LQWVXPBVTBGLJLWVLQW[
^
LI[
UHWXUQ
HOVH
^
LQWG [
UHWXUQG
GVXPBVTBGLJLWV[
`
`
YRLGLVKDSS\^
LQWD Q
ZKLOHD!
^
D VXPBVTBGLJLWVD
`
LID
6\VWHPRXWSULQWQLVD+DSS\1XPEHU
HOVH
6\VWHPRXWSULQWQLV1RWD+DSS\1XPEHU
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
+DSS\RE QHZ+DSS\
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWP VFQH[W,QW
REJHWQXPP
RELVKDSS\
`
`
1RWH,QWKLVSURJUDPZHKDYHXVHGWKHUGPHWKRGRIILQGLQJ
WKHVXPRIWKHVTXDUHRIWKHGLJLWV
$OOWKHIXQFWLRQVXVHGKHUHDUHZKDWZDVJLYHQLQWKHTXHVWLRQ
4XHVWLRQRI,6&
)LQGLQJZKHWKHUDQXPEHULVDQ$UPVWURQJ1XPEHURUQRW
LPSRUWMDYDXWLO
FODVV$UPVWURQJ
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWQ
$UPVWURQJ
^
Q
`
YRLGUHDG1XP
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
Q VFQH[W,QW
`
LQWVXP&XEH'LJLQW[
^
LI[
UHWXUQ
HOVH
^
LQWG [
UHWXUQG
G
GVXP&XEH'LJ[
`
`
YRLGLV$UP
^
LQWD VXP&XEH'LJQ
LID Q
6\VWHPRXWSULQWQLVDQ$UPVWURQJ1XPEHU
HOVH
6\VWHPRXWSULQWQLV1RWDQ$UPVWURQJ1XPEHU
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
^
$UPVWURQJRE QHZ$UPVWURQJ
REUHDG1XP
RELV$UP
`
`
1RWH$Q$UPVWURQJ1XPEHULVDQXPEHUZKRVHVXPRIWKH
FXEHRIWKHGLJLWVLVHTXDOWRWKHRULJLQDOQXPEHU([DPSOH
,QWKLVSURJUDPZHKDYHXVHGWKHUGPHWKRGRIILQGLQJWKH
VXPRIWKHFXEHRIWKHGLJLWV
723,& RECURSION
)LQGLQJIUHTXHQF\RIWKHGLJLWVRIDQXPEHU
LQW$>@ ^`
YRLGFRXQWLQWQ
^
LIQ!^
LQWG Q
$>G@
FRXQWQ
`
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQWOQ'LJLW?W?W)UHTXHQF\
FRXQWQ
IRULQWL LL^
LI$>L@
6\VWHPRXWSULQWOQL?W?W$>L@
``
1RWH ,Q WKLV SURJUDP ZH KDYH WDNHQ DQ LQWHJHU $UUD\ RI
VL]H IRUFRXQWLQJWKHIUHTXHQF\RIHDFKGLJLWSUHVHQWLQD
QXPEHU7KLVDUUD\KDVWREHGHFODUHGDVDQLQVWDQFHYDULDEOH
(DFKFHOORIWKHDUUD\KDVEHHQLQLWLDOL]HGWR]HUR
&HOOZLWKLQGH[ZLOOVWRUHWKHIUHTXHQF\RIGLJLWFHOOZLWK
LQGH[ZLOOVWRUHWKHIUHTXHQF\RIGLJLWDQGVRRQ
,QWKHUHFXUVLYHIXQFWLRQZHDUHH[WUDFWLQJWKHGLJLWVRQHE\
RQHDQGLQFUHPHQWLQJWKHFRUUHVSRQGLQJFHOORIWKHDUUD\
6RDIWHUWKHUHFXUVLYHIXQFWLRQHQGVZHKDYHLQWKHDUUD\WKH
IUHTXHQF\ RI HDFK GLJLW ,Q WKH GLVSOD\ PHWKRG ZH DUH
SULQWLQJRQO\WKRVHFHOOVRIWKHDUUD\ZKRVHYDOXHLVQRW]HUR
7KH?WLVIRUJLYLQJWDEVSDFHV
3ULQWLQJWKHGLJLWVRIDQXPEHULQZRUGV>,6&@
LPSRUWMDYDXWLO
YRLGQXPBWRBZRUGVLQW[
FODVV&RQYHUW
^
^
VZLWFK[
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
^
LQWQ
FDVH6\VWHPRXWSULQW=HUREUHDN
&RQYHUW^
FDVH6\VWHPRXWSULQW2QHEUHDN
Q
FDVH6\VWHPRXWSULQW7ZREUHDN
`
FDVH6\VWHPRXWSULQW7KUHHEUHDN
FDVH6\VWHPRXWSULQW)RXUEUHDN
YRLGLQSQXP
^
FDVH6\VWHPRXWSULQW)LYHEUHDN
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
FDVH6\VWHPRXWSULQW6L[EUHDN
Q VFQH[W,QW
FDVH6\VWHPRXWSULQW6HYHQEUHDN
6\VWHPRXWSULQW2XWSXW
FDVH6\VWHPRXWSULQW(LJKWEUHDN
H[WGLJLWQ
FDVH6\VWHPRXWSULQW1LQHEUHDN
`
`
`
YRLGH[WGLJLWLQWQ
^
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@
LIQ!
^
^
&RQYHUWRE QHZ&RQYHUW
LQWG Q
RELQSQXP
H[WGLJLWQ
`
QXPBWRBZRUGVG
`
`
`
1RWH$OOWKHIXQFWLRQVXVHGKHUHDUHZKDWZDVJLYHQLQWKHTXHVWLRQ,6&
,QWKHDERYHSURJUDPZHDUHLQSXWWLQJWKHQXPEHULQWKHLQSQXPPHWKRG$IWHULQSXWWLQJZHDUHVHQGLQJWKLVQXPEHUWR
WKHIXQFWLRQH[WGLJLWLQWQZKLFKLVH[WUDFWLQJRQHGLJLWDWDWLPH+HUHZHKDYHXVHGWKHVWUHFXUVLYHPHWKRGRIH[WUDFWLQJ
GLJLWVIURPWKHEHJLQQLQJ$VVRRQDVZHDUHJHWWLQJWKHGLJLWVIURPWKHVWDFNXVLQJWKH/,)2SURSHUW\ZHDUHVHQGLQJLWWR
WKHQXPBWRBZRUGVLQW[PHWKRGZKLFKLVSULQWLQJWKHGLJLWLQZRUGV
723,& RECURSION
5HYHUVLQJD1XPEHU
:LWKRXW5HWXUQ7\SH
5HFXUVLYH0HWKRG
&RUUHVSRQGLQJ,WHUDWLYH
&RGH
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
YRLGUHYLQWQ
^
LIQ!^
LQWG Q
6\VWHPRXWSULQWG
UHYQ
`
`
1RWH 7KLV PHWKRG LV
SULQWLQJ WKH GLJLWV RQ
VFUHHQLQUHYHUVHRUGHU
LQWU
YRLGUHYLQWQ
^
LIQ!^
LQWG Q
U U
G
UHYQ
`
HOVH
6\VWHPRXWSULQWOQ5HYHUVH
U
`
LQWU
LQWUHYLQWQ
^
LIQ!
^
LQWG Q
U U
G
UHWXUQUHYQ
`
HOVH
UHWXUQU
`
LQWU
LQWUHYLQWQ
^
ZKLOHQ!
^
LQWG Q
U U
G
Q Q
`
UHWXUQU
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW5HYHUVHRIWKHQXPEHU
UHYQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQW[ UHYQ
6\VWHPRXWSULQW5HYHUVHRIWKHQXPEHU [
`
&KHFNLQJIRU3DOLQGURPH1XPEHU
LQWU
LQWUHYLQWQ
^
LIQ!^
LQWG Q
U U
G
UHWXUQUHYQ
`
HOVH
UHWXUQU
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQW[ UHYQ
LI[ Q
6\VWHPRXWSULQWOQ7KHQXPEHULV3DOLQGURPH
HOVH
6\VWHPRXWSULQWOQ7KHQXPEHULV1RW3DOLQGURPH
`
([WUDFWLQJ1XPEHUVIURPDOLPLWXSWRDQRWKHUOLPLW
5HFXUVLYH0HWKRG
YRLGH[WUDFWLQWSLQWT
^
LIS T
^
:ULWHWKHRSHUDWLRQ\RXZDQWWRSHUIRUPZLWKWKH
QXPEHUVFRPLQJRQHE\RQHLQ
S
H[WUDFWST
`
`
&RUUHVSRQGLQJ,WHUDWLYH)XQFWLRQ
YRLGH[WUDFWLQWSLQWT
^
ZKLOHS T
^
:ULWHWKHRSHUDWLRQ\RXZDQWWRSHUIRUPZLWKWKH
QXPEHUVFRPLQJRQHE\RQHLQ
S
S
`
`
723,& RECURSION
6RPH3URJUDPVGHDOLQJZLWKQXPEHUVZLWKLQDUDQJH
3ULQWLQJDOOWKH(YHQ1XPEHUVVWDUWLQJIURP
S
WLOO
T
5HFXUVLYH0HWKRG
YRLGHYHQLQWSLQWT
^
LIS T
^
LIS
6\VWHPRXWSULQWOQS
HYHQST
`
`
&RUUHVSRQGLQJ,WHUDWLYH)XQFWLRQ
YRLGHYHQLQWSLQWT
^
ZKLOHS T
^
LIS
6\VWHPRXWSULQWOQS
S
`
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHORZHUOLPLW
LQWS VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHXSSHUOLPLW
LQWT VFQH[W,QW
6\VWHPRXWSULQWOQ7KHHYHQQXPEHUVDUH
HYHQST
`
)LQGLQJ6XPRIDOOWKH(YHQDQG2GG1XPEHUVVHSDUDWHO\IURP
S
WLOO
T
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHORZHUOLPLW
LQWS VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHXSSHUOLPLW
LQWT VFQH[W,QW
VXP2(ST
6\VWHPRXWSULQWOQ6XPRIHYHQQXPEHUV VH
6\VWHPRXWSULQWOQ6XPRIRGGQXPEHUV VR
`
3ULQWLQJSULPHQXPEHUVIURP
S
WLOO
T
LQWLV3ULPHLQWQLQWL
^
LIL Q
UHWXUQ
HOVHLIQL __Q
UHWXUQ
HOVH
UHWXUQLV3ULPHQL
`
YRLGSULQW3ULPHLQWSLQWT
^
LIS T
^
LILV3ULPHS
6\VWHPRXWSULQWOQS
SULQW3ULPHST
`
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUWKHORZHUOLPLW
LQWS VFQH[W,QW
6\VWHPRXWSULQW(QWHUWKHXSSHUOLPLW
LQWT VFQH[W,QW
SULQW3ULPHST
`
1RWH8VLQJWKLVWHFKQLTXH\RXFDQDOVRFKHFNIRUDQ\RWKHU
QXPEHUZLWKLQDJLYHQUDQJH-XVWSDVVRQWKHYDOXHRI
S
WR
DSSURSULDWHIXQFWLRQ
723,& RECURSION
)LQGLQJWKHIDFWRUVRIDQXPEHU
YRLGIDFWRUVLQWQLQWL
^
LIL Q^
LIQL
6\VWHPRXWSULQWL
IDFWRUVQL
`
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW)DFWRUVRIWKHQXPEHUDUH
IDFWRUVQ
`
&KHFNLQJIRU3HUIHFW1XPEHU
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWI IDFWRUVQ
LII Q
6\VWHPRXWSULQWOQ7KH1XPEHULV3HUIHFW
HOVH
6\VWHPRXWSULQWOQ7KH1XPEHULV1RW3HUIHFW
`
LQWVXP
LQWIDFWRUVLQWQLQWL^
LILQ^
LIQL
VXP VXPL
UHWXUQIDFWRUVQL
`
HOVH
UHWXUQVXP
`
&KHFNLQJIRU&RPSRVLWH1XPEHU
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWI IDFWRUVQ
LII!
6\VWHPRXWSULQWOQ7KH1XPEHULV&RPSRVLWH
HOVH
6\VWHPRXWSULQWOQ7KH1XPEHULV1RW&RPSRVLWH
`
LQWFRXQW
LQWIDFWRUVLQWQLQWL^
LILQ^
LIQL
FRXQW
UHWXUQIDFWRUVQL
`
HOVH
UHWXUQFRXQW
`
)LQGLQJWKH3ULPH)DFWRUVRIDQXPEHU
5HFXUVLYH0HWKRG
YRLGSULPH)DFWLQWQLQWL
^
LIQ!^
LIQL ^
6\VWHPRXWSULQWL
SULPH)DFWQLL
`
HOVH
SULPH)DFWQL
``
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUWKHDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW3ULPH)DFWRUVRIWKHQXPEHU
SULPH)DFWQ
`
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWSULPH)DFWLQWQ
^
LQWL
ZKLOHQ!^
LIQL ^
6\VWHPRXWSULQWL
Q QL
`
HOVH
L
``
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUWKHDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW3ULPH)DFWRUVRIWKHQXPEHU
SULPH)DFWQ
`
723,& RECURSION
6RPH3URJUDPVUHODWHGWRSULPHIDFWRUVRIDQXPEHU
)LQGLQJ6XPRIWKH3ULPH)DFWRUVRIDQXPEHU
LQWVXP
LQWSULPH)DFWLQWQLQWL
^
LIQ!
^
LIQL
^
VXP VXPL
UHWXUQSULPH)DFWQLL
`
HOVH
UHWXUQSULPH)DFWQL
`
HOVH
UHWXUQVXP
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQWV SULPH)DFWQ
6\VWHPRXWSULQW6XPRISULPHIDFWRUVV
`
&KHFNLQJIRU6PLWK1XPEHU
LQWVXP
UHWXUQ
HOVH
LQWSULPH)DFWLQWQLQWL
^
^
LIQ!
LQWG Q
^
UHWXUQGVXP'LJQ
LIQL
`
^
`
VXP VXPVXP'LJL
YRLGGLVSOD\
UHWXUQSULPH)DFWQLL
^
`
6\VWHPRXWSULQW(QWHUWKHDQ\QXPEHU
HOVH
LQWQ VFQH[W,QW
UHWXUQSULPH)DFWQL
LQWVG VXP'LJQ
`
LQWVI SULPH)DFWQ
HOVH
LIVG VI
UHWXUQVXP
6\VWHPRXWSULQWOQ7KH1XPEHULVD6PLWK1XPEHU
`
HOVH
6\VWHPRXWSULQWOQ7KH1XPEHULV1RWD6PLWK
LQWVXP'LJLQWQ
^
1XPEHU
LIQ
`
1RWH 7KH UHFXUVLYH PHWKRG VXP'LJ LV UHWXUQLQJ XV WKH VXP RI WKH GLJLWV RI D QXPEHU ZKLOH WKH UHFXUVLYH PHWKRG
SULPH)DFWLVUHWXUQLQJXVWKHVXPRIWKHSULPHIDFWRUVRIDQXPEHU
7KHPHWKRGSULPH)DFWLVWKHVDPHZHXVHGIRUILQGLQJWKHVXPRIWKHSULPHIDFWRUVDERYHZLWKWKHRQO\DGGLWLRQEHLQJ
WKDWZHDUHILUVWVHQGLQJWKDWSULPHIDFWRUWRWKHVXP'LJIXQFWLRQDQGWKHQDGGLQJLWWRWKHVXP
7KLVLVGRQHWRHQVXUHWKDWZHPHHWZLWKWKHFRQGLWLRQRIFKHFNLQJIRUD6PLWK1XPEHUDQGKHQFHJHWWKHVXPRIWKHGLJLWVRI
DOOWKRVHSULPHIDFWRUVZKLFKDUHPRUHWKDQRQHGLJLW
723,& RECURSION
&RQYHUVLRQ%HWZHHQ1XPEHU6\VWHPV
'HFLPDOWR%LQDU\&RQYHUVLRQ
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
:LWKRXW5HWXUQ7\SH
:LWK5HWXUQW\SH
&RUUHVSRQGLQJ,WHUDWLYH
&RGH
YRLGELQDU\LQWQ
^
LIQ!
^
LQWG Q
ELQDU\Q
6\VWHPRXWSULQWG
`
`
LQWELQ
LQWELQDU\LQWQ
^
LIQ!
^
LQWG Q
ELQDU\Q
ELQ ELQ
G
`
UHWXUQELQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUD
QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW%LQDU\
ELQDU\Q
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQXPEHU
LQWQ VFQH[W,QW
LQW[ ELQDU\Q
6\VWHPRXWSULQWOQ%LQDU\ [
`
1RWH,QPHWKRGZHKDYHPDGHXVHRIWKHVWDFNPHPRU\WRUHYHUVHWKHUHPDLQGHUVRIWKHQXPEHUZKHQGLYLGHGE\
5HFXUVLYH0HWKRG5HWXUQW\SH6WULQJ
6WULQJELQ
6WULQJELQDU\LQWQ
^
LIQ!
^
LQWG Q
ELQ FKDUGELQ
UHWXUQELQDU\Q
`
HOVH
UHWXUQELQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6WULQJ[ ELQDU\Q
6\VWHPRXWSULQWOQ%LQDU\ [
`
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
6WULQJELQ
6WULQJELQDU\LQWQ
^
ZKLOHQ!
^
LQWG Q
ELQ FKDUGELQ
Q Q
`
UHWXUQELQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6WULQJ[ ELQDU\Q
6\VWHPRXWSULQWOQ%LQDU\ [
`
1RWH ,QPHWKRGZHDUHPDNLQJXVHRIWKH$6&,,YDOXHVWRFRQYHUWDQLQWHJHUGLJLWWRDFKDUDFWHUGLJLW:HDUHFRQYHUWLQJ
DQLQWHJHUWRDFKDUDFWHUDQGWKHQDGGLQJWKHPWRD6WULQJ
723,& RECURSION
'HFLPDOWR%LQDU\&RQYHUVLRQ6ROXWLRQWR4XHVWLRQRI>,6&7KHRU\5HSHDW@
LPSRUWMDYDXWLO
FODVVGHFB%LQ
^
VWDWLF6FDQQHUVF QHZ6FDQQHU6\VWHPLQ
LQWQVL
GHFB%LQ^
Q
V
L
`
YRLGJHWGDWD^
6\VWHPRXWSULQW(QWHUDGHFLPDOQXPEHU
Q VFQH[W,QW
`
YRLGUHFXUVLYHLQW[^
LI[!^
LQWG [
V VG
LQW0DWKSRZL
UHFXUVLYH[
`
`
YRLGSXWGDWD^
6\VWHPRXWSULQWOQ'HFLPDO1XPEHU Q
UHFXUVLYHQ
6\VWHPRXWSULQWOQ%LQDU\(TXLYDOHQW V
`
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@^
GHFB%LQRE QHZGHFB%LQ
REJHWGDWD
RESXWGDWD
`
`
1RWH$OOWKHIXQFWLRQVDUHZULWWHQDVSHUWKHTXHVWLRQRI,6&&RPSXWHU6FLHQFH3DSHU7KHRU\
(YLO1XPEHU6ROXWLRQWR4XHVWLRQRI>,6&3UDFWLFDO6SHFLPHQ@
$Q(YLOQXPEHULVDSRVLWLYHZKROHQXPEHUZKLFKKDVHYHQQXPEHURIVLQLWVELQDU\HTXLYDOHQW
LQWF
LQWELQDU\LQWQ^
LIQ!^
LQWG Q
LIG
F
UHWXUQELQDU\Q
`
UHWXUQF
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQXPEHU
LQWQ VFQH[W,QW
LQW[ ELQDU\Q
LI[
6\VWHPRXWSULQWOQQLVDQ(YLO1XPEHU
HOVH
6\VWHPRXWSULQWOQQLV1RWDQ(YLO1XPEHU
`
%LQDU\WR'HFLPDO&RQYHUVLRQ
5HFXUVLYH0HWKRG
LQWGHF F
LQWGHFLPDOORQJQ
^
LIQ!^
LQWG LQWQ
GHF GHFG
LQW0DWKSRZF
UHWXUQGHFLPDOQ
`
HOVH
UHWXUQGHF
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
ORQJQ VFQH[W/RQJ
LQW[ GHFLPDOQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWGHF F
LQWGHFLPDOORQJQ
^
ZKLOHQ!^
LQWG LQWQ
GHF GHFG
LQW0DWKSRZF
Q Q
`
UHWXUQGHF
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
ORQJQ VFQH[W/RQJ
LQW[ GHFLPDOQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
723,& RECURSION
'HFLPDOWR2FWDO&RQYHUVLRQ>,6&@
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
:LWKRXW5HWXUQ7\SH
:LWK5HWXUQW\SH
&RUUHVSRQGLQJ,WHUDWLYH
&RGH
YRLGRFWDOLQWQ
^
LIQ!
^
LQWG Q
ELQDU\Q
6\VWHPRXWSULQWG
`
`
LQWRFW
LQWRFWDOLQWQ
^
LIQ!
^
LQWG Q
ELQDU\Q
RFW RFW
G
`
UHWXUQRFW
`
YRLGGLVSOD\^
6\VWHPRXWSULQW(QWHUD
QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW2FWDO
RFWDOQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQXPEHU
LQWQ VFQH[W,QW
LQW[ RFWDOQ
6\VWHPRXWSULQWOQ2FWDO [
`
1RWH 7KH DERYH UHFXUVLYH PHWKRGV KDYLQJ UHWXUQ W\SHV DQG SDUDPHWHUV FDQ DOVR EH ZULWWHQ ZLWKRXW UHWXUQ W\SHV DQG
SDUDPHWHUV,QVXFKDFDVH\RXQHHGWRWDNHWKHGHFLPDOQXPEHU
Q
DVDQLQVWDQFHYDULDEOH([DPSOH
LQWRFW
YRLGRFWDO^
LIQ!^
LQWG Q
Q Q
RFWDO
2FWDOWR'HFLPDO&RQYHUVLRQ
5HFXUVLYH0HWKRG
LQWGHF F
LQWGHFLPDOLQWQ
^
LIQ!^
LQWG Q
GHF GHFG
LQW0DWKSRZF
UHWXUQGHFLPDOQ
`
HOVH
UHWXUQGHF
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQW[ GHFLPDOQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWGHF F
LQWGHFLPDOLQWQ
^
ZKLOHQ!^
LQWG Q
GHF GHFG
LQW0DWKSRZF
Q Q
`
UHWXUQGHF
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
LQW[ GHFLPDOQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
723,& RECURSION
'HFLPDOWR+H[DGHFLPDO&RQYHUVLRQ
5HFXUVLYH0HWKRG
5HFXUVLYH0HWKRG
:LWKRXW5HWXUQ7\SH
:LWK5HWXUQW\SH
&RUUHVSRQGLQJ,WHUDWLYH
&RGH
YRLGKH[DLQWQ
^
LIQ!
^
LQWG Q
KH[DQ
LIG! G
6\VWHPRXWSULQWFKDUG
HOVH
6\VWHPRXWSULQWFKDUG
`
`
6WULQJKH[
6WULQJKH[DLQWQ
^
LIQ!
^
LQWG Q
LIG! G
KH[ FKDUGKH[
HOVH
KH[ FKDUGKH[
UHWXUQKH[DQ
`
HOVH
UHWXUQKH[
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6\VWHPRXWSULQW+H[DGHFLPDO(TXLYDOHQW
KH[DQ
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\QXPEHU
LQWQ VFQH[W,QW
6WULQJK KH[DQ
6\VWHPRXWSULQW+H[DGHFLPDO(TXLYDOHQW K
`
6WULQJKH[
6WULQJKH[DLQWQ
^
ZKLOHQ!^
LQWG Q
LIG! G
KH[ FKDUG
KH[
HOVH
KH[ FKDUG
KH[
Q Q
`
UHWXUQKH[
`
1RWH ,Q WKH DERYH PHWKRGV ZH DUH PDNLQJ XVH RI WKH $6&,, YDOXHV WR FRQYHUW DQ LQWHJHU UHPDLQGHU WR D FKDUDFWHU
UHPDLQGHU:HDUHFRQYHUWLQJUHPDLQGHUWRDFKDUDFWHUDUHPDLQGHUWRFKDUDFWHU$DQGDGGLQJWKHPWRD6WULQJ
+H[DGHFLPDOWR'HFLPDO&RQYHUVLRQ
5HFXUVLYH0HWKRG
LQWGHF F
LQWGHFLPDO6WULQJQLQWL
^
LIL!
^
FKDUFK QFKDU$WL
LIFK!
FK
GHF GHFFK
LQW0DWKSRZF
LIFK!
$
FK
)
GHF GHFFK
LQW0DWKSRZF
UHWXUQGHFLPDOQL
`
HOVH
UHWXUQGHF
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\KH[DGHFLPDOQXPEHU
6WULQJQ VFQH[W
Q QWR8SSHU&DVH
LQWOHQ QOHQJWK
LQW[ GHFLPDOQOHQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
&RUUHVSRQGLQJ,WHUDWLYH0HWKRG
LQWGHF F
LQWGHFLPDO6WULQJQLQWL
^
ZKLOHL!
^
FKDUFK QFKDU$WL
LIFK!
FK
GHF GHFFK
LQW0DWKSRZF
LIFK!
$
FK
)
GHF GHFFK
LQW0DWKSRZF
L
`
UHWXUQGHF
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQ\KH[DGHFLPDOQXPEHU
6WULQJQ VFQH[W
Q QWR8SSHU&DVH
LQWOHQ QOHQJWK
LQW[ GHFLPDOQOHQ
6\VWHPRXWSULQWOQ'HFLPDO(TXLYDOHQW [
`
723,& RECURSION
6RPHRSHUDWLRQVEDVHGRQ$UUD\V
/LQHDU6HDUFK
%LQDU\6HDUFK>,6&@
$VVXPLQJ WKDW WKHUH LV DQ DUUD\ $> @ WKH EHORZ IXQFWLRQ
VHDUFKHVIRUDYDOXHDQGUHWXUQVLIWKHVHDUFKLVVXFFHVVIXO
RWKHUZLVHUHWXUQV
LQWELQ6HDUFKLQWOLQWXLQWVHDUFK
^
LQWPLG OX
LIXOFRQGLWLRQLIWKHVHDUFKLVXQVXFFHVVIXO
UHWXUQ
HOVHLIVHDUFK $>PLG@LIWKHVHDUFKLVVXFFHVVIXO
UHWXUQ
HOVHLIVHDUFK!$>PLG@
UHWXUQELQ6HDUFKPLGXY
HOVH
UHWXUQELQ6HDUFKOPLGY
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQXPEHUWRVHDUFK
LQWY VFQH[W,QW
LQWI REOLQHDU6HDUFK$OHQJWKY
LII
6\VWHPRXWSULQWOQ1XPEHUIRXQG
HOVH
6\VWHPRXWSULQWOQ1XPEHU1RWIRXQG
`
6HOHFWLRQ6RUWLQ$VFHQGLQJ2UGHU
%XEEOH6RUWLQ$VFHQGLQJ2UGHU
YRLGVHOHFWLRQ6RUWLQWL
^
LIL$OHQJWK
^
IRULQWM LM$OHQJWKM
^
LI$>L@!$>M@IRUGHVFHQGLQJFKDQJHWR$>L@$>M@
^
LQWWHPS $>L@
$>L@ $>M@
$>M@ WHPS
``
VHOHFWLRQ6RUWL
``
YRLGGLVSOD\
^
VHOHFWLRQ
IRULQWL L$OHQJWKL^
6\VWHPRXWSULQWOQ$>L@
`
`
YRLGEXEEOH6RUWLQWL
^
LIL$OHQJWK
^
IRULQWM M$OHQJWKLM
^
LI$>M@!$>M@IRUGHVFHQGLQJ$>M@$>M@
^
LQWWHPS $>M@
$>M@ $>M@
$>M@ WHPS
``
EXEEOH6RUWL
``
YRLGGLVSOD\
^
EXEEOH6RUW
IRULQWL L$OHQJWKL^
6\VWHPRXWSULQWOQ$>L@
`
`
LQWOLQHDU6HDUFKLQWLLQWVHDUFK
^
LIL $OHQJWKFRQGLWLRQLIWKHVHDUFKLVXQVXFFHVVIXO
UHWXUQ
HOVHLIVHDUFK $>L@LIWKHVHDUFKLVVXFFHVVIXO
UHWXUQ
HOVH
UHWXUQOLQHDU6HDUFKLVHDUFK
`
YRLGGLVSOD\
^
6\VWHPRXWSULQW(QWHUDQXPEHUWRVHDUFK
LQWY VFQH[W,QW
LQWI REOLQHDU6HDUFKY
LII
6\VWHPRXWSULQWOQ1XPEHUIRXQG
HOVH
6\VWHPRXWSULQWOQ1XPEHU1RWIRXQG
`