剣指offer--1+2+3+...+n

815 ワード

1+2+3+…+nを求めて、乗除法、for、while、if、else、switch、caseなどのキーワードと条件の判断文(A?B:C)を使うことができないことを要求します.
public int Sum_Solution(int n) {
    int res = n;
    boolean ju = (n>0) && ((res+=Sum_Solution(n-1))>0);
    return res;
}

牛客網の解題構想:1.論理との短絡特性を利用して再帰的な終了を実現する必要がある.2.n=0の場合、(n>0)&&xxxは前の判断のみをfalseとして実行し、直接0に戻る.3.n>0の場合、res+=Sum_を実行するSolution(n-1)、再帰計算Sum_を実現Solution(n).
注意:java自体は直接強転をサポートしていません.booleanはintと変換できません.if文で代用できます.