ããã°ã©ãã³ã° ãã©ãã€ã ã®ã³ã³ããã¹ãã§ã¯ãååž°çããã°ã©ãã³ã°ãšã¯ãåãµãåé¡ã 1 å解決ãããã®è§£ãååž°ã«ãã£ãŠè€æ°ååå©çšããããšã«ãã£ãŠã倧ãããŠè€éãªåé¡ããããå°ãã管çãããããµãåé¡ã«åå²ããããšãå«ãææ³ãæããŸããååž°ãšã¯ã颿°ãçŽæ¥ãŸãã¯éæ¥çã«ããèªäœãåŒã³åºãããã»ã¹ã§ãããå颿°åŒã³åºãã¯ãããå°èŠæš¡ãªåãåé¡ã®æ°ããã€ã³ã¹ã¿ã³ã¹ã«ãªããŸããååž°ã¯åºæ¬ã±ãŒã¹ (å€ãã®å Žåãäºçްãªåé¡ãŸãã¯åæ©çãªåé¡) ã«å°éãããŸã§ç¶ããŸãããã®æç¹ã§ã颿°ã¯ããèªäœã®åŒã³åºãã忢ãããã¹ãŠã®ãµãåé¡ã®è§£æ±ºçãçµåãããŠãå ã®åé¡ã®æçµçãªè§£æ±ºçãçæãããŸãã
ååž°çããã°ã©ãã³ã°ã®äœ¿çšã¯ãåž°çŽæ³ã®æ°åŠçåçã«åºã¥ããŠãããåé¡ã®å°ããªã€ã³ã¹ã¿ã³ã¹ã解決ãããã®çµæãäžè¬åããŠå®å šãªè§£æ±ºçã圢æããããšã«ãã£ãŠãåé¡ã®è§£æ±ºçãå°åºãããŸããååž°çããã°ã©ãã³ã°ææ³ã¯ãè€éãªããŒã¿æ§é ãããªãŒ ãã©ããŒãµã«ãã°ã©ã ãã©ããŒãµã«ãçµã¿åããåé¡ãªã©ãããŸããŸãªåé¡ã®è§£æ±ºã«é©çšã§ããŸãã
ååž°çããã°ã©ãã³ã°ã«ã¯ãã³ãŒãã®ç°¡çŽ åãå¯èªæ§ã®åäžãçè§£ãšãããã°ã®å®¹æåãªã©ãå埩ããã°ã©ãã³ã°ææ³ã«æ¯ã¹ãŠããã€ãã®å©ç¹ããããŸãããã ããã¡ã¢ãªäœ¿çšéã®å¢å ãéå°ãªé¢æ°åŒã³åºãã«ããã¹ã¿ã㯠ãªãŒããŒãã㌠ãšã©ãŒãçºçããå¯èœæ§ãªã©ãããã€ãã®æ¬ ç¹ãçããå¯èœæ§ããããŸãããããã®æ¬ ç¹ã«ãããããããååž°çããã°ã©ãã³ã°ã®å©ç¹ã¯æ¬ ç¹ãäžåãããšãå€ãããœãããŠã§ã¢éçºã®åéã§åºã䜿çšãããŠããææ³ãšãªã£ãŠããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã䜿çšããå°éãœãããŠã§ã¢éçºè ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èšèšããã³æ§ç¯æã«ååž°çææ³ãå¹ççã«å©çšã§ããŸããããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³åãã®ãã©ãããã©ãŒã ã®é©æ°çãªããžã¥ã¢ã« ããã»ã¹ ãã¶ã€ããŒã¯ãååž°ã䜿çšããŠè€éãªãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ãæäŸããŸããããã«ãããéçºæéãå€§å¹ ã«ççž®ãããã³ãŒãã®åå©çšæ§ãåäžããæçµè£œåã®å šäœçãªå質ãåäžããŸãã
ååž°çããã°ã©ãã³ã°ã®å¿çšã®å€å žçãªäŸã¯ããã£ããããæ°åã¢ã«ãŽãªãºã ã§ãããã£ããããæ°åã¯äžé£ã®æ°å€ã§ãããåæ°å€ã¯å è¡ãã 2 ã€ã®æ°å€ã®åèšã§ãããé垞㯠0 ãš 1 ã§å§ãŸããŸããn çªç®ã®ãã£ããããæ°ãååž°çã«èšç®ããã¢ã«ãŽãªãºã ã¯æ¬¡ã®ããã«è¡šãããšãã§ããŸãã
颿°ãã£ãããã(n) {
if (n <= 1) {
n ãè¿ããŸãã
}
ãã£ãããã(n - 1) + ãã£ãããã(n - 2) ãè¿ããŸãã
}
ãã®äŸã§ã¯ã颿°ã¯ãn <= 1 ã®åºæ¬ã±ãŒã¹ã«éãããŸã§ãn ã®ããå°ããå€ã䜿çšããŠããèªäœãååž°çã«åŒã³åºããŸããæ¬¡ã«ãåé¡ã®ããå°ããªã€ã³ã¹ã¿ã³ã¹ã®è§£ã䜿çšããŠãn çªç®ã®ãã£ããããæ°ã®å€ãèšç®ãããŸãããã®ã¢ãããŒãã«ããããã£ããããæ°åã¢ã«ãŽãªãºã ã®æŽç·Žãããç°¡æœãªå®è£ ãå¯èœã«ãªããååž°çããã°ã©ãã³ã°æè¡ã®åšåãšã·ã³ãã«ããå®èšŒããŸãã
ååž°çããã°ã©ãã³ã°ã®ãã 1 ã€ã®äžè¬çãªäŸã¯ãæ°å€ã®éä¹ãæ±ããããšã§ããéä¹ (n! ã§ç€ºããã) ã¯ãn 以äžã®ãã¹ãŠã®æ£ã®æŽæ°ã®ç©ã§ããéä¹é¢æ°ã¯æ¬¡ã®ããã«ååž°çã«å®çŸ©ã§ããŸãã
颿°éä¹(n) {
if (n <= 1) {
1 ãè¿ããŸãã
}
n * éä¹ (n - 1) ãè¿ããŸãã
}
ãã£ãããã ã¢ã«ãŽãªãºã ãšåæ§ã«ãéä¹é¢æ°ã¯ååž°ãå©çšã㊠n! ã®èšç®ã®åé¡ã解決ããŸããããå°ããªãµãåé¡ã«åå²ããŸãããã®é¢æ°ã¯ãn <= 1 ã®åºæ¬ã±ãŒã¹ã«éãããŸã§ãn ã®å€ãåŸã ã«å°ããããŠèªåèªèº«ãåŒã³åºããŸãããã®æç¹ã§ã颿°ã¯ããèªäœã®åŒã³åºãã忢ããéšååé¡ã®è§£ãçµã¿åãããŠãä¹ç®ãéã㊠n ã®éä¹ãèšç®ããŸãããã®äŸã¯ãè€éãªæ°åŠçåé¡ã解決ããéã®ååž°çããã°ã©ãã³ã°ã®åªé ããšåšåãããã«åŒ·èª¿ããã®ã«ã圹ç«ã¡ãŸãã
çµè«ãšããŠãååž°çããã°ã©ãã³ã°ã¯ãè€éãªåé¡ãããå°ããªãµãåé¡ã«åå²ããåãµãåé¡ãååž°çã«è§£æ±ºããããšã§ãéçºè ãè€éãªåé¡ã«åãçµãã®ã«åœ¹ç«ã€åŒ·åã§æ±çšæ§ã®é«ãææ³ã§ãã AppMasterã®ãããªãã©ãããã©ãŒã ã§ååž°ã®åãæŽ»çšãããšãéçºäžã®ã¢ããªã±ãŒã·ã§ã³ã®é床ãå質ãä¿å®æ§ãå€§å¹ ã«åäžãããããšãã§ããŸããååž°ã®å©ç¹ãšæœåšçãªæ¬ ç¹ãçè§£ããããšã§ãéçºè ã¯ãããžã§ã¯ãã§ååž°ããã°ã©ãã³ã°ææ³ããã€ã©ã®ããã«äœ¿çšãããã«ã€ããŠæ å ±ã«åºã¥ããæ±ºå®ãäžãããšãã§ããŸãã