もう少し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) | |||