これは過去の試験問題からの問題です。
i<=nループ テストで と表示されているのに、なぜループ不変条件が表示されるのですかi<n。
適切な答えは次のとおりです。while ループの失敗条件でi<=nas iwill equals と表示されます。nしたがって、 の 6 回目の繰り返しは、失敗した状態でiは値 6 に等しくなります。nただし、while ループ自体はi<n、i0 から開始しi、5 に等しい 1 回ループを終了すると述べています。
private int n =6;
public int fact(){
int i = 0;
int f = 1;
/**loop invariant
* 0<=i<=n
* f=i!
*/
while(i<n){//loop test
i=i+1;
f=f*i;
}
return f;
}