 

(1)繰返しによる桁数のカウント
10未満になるまで,整数を10で割る処理を繰り返し,
その回数をカウントすることで,
桁数を求めることができます。
@) R ← 1, NN ← Nとする。
A) NN≧の間,以下を繰り返す。
・ NN ← NN / 10
・ R ← R + 1
B) Rを桁数とする。
private int 桁数設定(int N)
{
int R = 1; int NN = N;
while (NN>=10) { NN /= 10; R++;
}
return R;
}
private void cmdCompute_Click(object sender,
System.EventArgs e)
{
int N = int.Parse(txtValue.Text);
int 桁数 = 桁数設定(N);
lblResult.Text = N.ToString()
+ "の桁数は"
+ 桁数.ToString()
+ "桁です"
}
|
10の対数を使うと,繰返しを使わないで桁数を求めることができます。
すなわち,

ですから,10の対数をとり,小数点以下を無視すると
桁数−1の値が求まります。
private int 桁数設定2(int N)
{
if (N == 0) return 1;
int X=( (int)Math.Log10(N)) +1;
return X;
}
private void cmdOther_Click(object sender,
System.EventArgs e)
{
int N = int.Parse(txtValue.Text);
int 桁数 = 桁数設定2(N);
lblResult.Text = N.ToString() + "の桁数は"
+ 桁数.ToString()
+ "桁です"
}
|
 
|