もう少しwhileらしい例題をやってみましょう.
class Factorization { public static void main(String argv[ ]) { int v=1911; int x; while(v >1) { x=2; while(v % x > 0) x=x+1; System.out.println(x); v=v/x; } } }
ここで演算子"%"は整数除算の余り,すなわちa%bはaをbで割った余りを示します.剰余演算子などとも呼ばれます.10%3=1,10%4=2,10%5=0,というぐあいです.a%b=0はaがbで割り切れること,つまりaがbの倍数(bがaの約数)であるを示しています.
Factorizationでは,while構造が二重になっているので少し複雑です.内側のwhileでは一文(x=x+1)だけを繰り返して実行します.これに対して外側の(大きな)whileでは,沢山の操作を繰り返し実行します.その動きを追ってみましょう.
26.1.3.7 二分法 | 26.1.3.8 二重の繰返し | 26.1.3.9 素因数分解 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Mon, 26 Apr 2004 03:42:28 JST (1922d) |