7を入力した場合、正しくは以下の経路で合計20となります。
[7]
↓+7
[3,4]
↓+7
[1,2,2,2]
↓+6
[1,1,1,1,1,1,1]
しかし、ご提示のコードですと、以下の経路をたどり、合計21となってしまいます。
num=7,upper=4,lower=3
↓+7
num=4,upper=2,lower=2
↓+7
num=2,upper=1,lower=1
break
↓+7
upper=2となった時点のlowerが1か2かという条件だけでは、最終的に足される数の判定には不十分ということです。
0Like