剣指Offer 64.1+2+...+n(ショートの書き方)を求めます


1+2+…+nを求めて、乗除法、for、while、if、else、switch、caseなどのキーワードと条件の判断文(A?B:C)を使うことができないことを要求します.
   1:
  : n = 3
  : 6

   2:
  : n = 9
  : 45
 
  :
1 <= n <= 10000
int sumNums(int n){
    n && (n += sumNums(n-1));

    return n;
}
nを文1とするn += sumNums(n-1)を文2とする
短絡の原則から分かるように,nが0でない場合は実行可能文2,nが0である場合は実行文1である.この考えにより、ifを用いずに および を達成する目的が達成される.